Python字符串与列表


概念:

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

   1. 掌握列表基础知识

1.1 列表的特点:

支持异构:一个列表中含不同类型的对象

 支持嵌套:即列表中的元素可以是列表

可变:支持通过索引,切片,进行修改

1.2 如何定义列表:

方法一(推荐):[];

例:list1=[1,3,5]
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
list3 = [[1,2,3], "a", "b", "c", "d"];

方法二:使用内置函数list(): 内建函数list(a_sequence) 可以将一个序列转为列表

 

例1:
>>> str1="dddgf"
>>> list1=list(str1)
>>> list1
['d', 'd', 'd', 'g', 'f']

例2:

wKiom1jkX9XxEXf0AAALKhhWOQ4197.png

2. 访问列表中的值

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
 
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

3. 更新列表

list = ['physics', 'chemistry', 1997, 1998];
 
print "Value available at index 2 : "
print list[2];
list[2] = 2001;
print "New value available at index 2 : "
print list[2];

4. 列表的索引和切片:

classmates = ['Madking','Agon', 'Michael', 'Bob', 'Tracy']
print classmates[0]
'Michael'
print classmates[1]
'Bob'
print classmates[2]
'Tracy'
print classmates[3]
print classmates[1:-2]
print classmates[1:3]
print classmates[::2]


5. 掌握列表相关方法:   

2.1  append():向列表中追加元素

例如:

wKioL1jkX-qRgoy2AAAPuGtWV-M194.png

wKiom1jkYAbi3cAIAAAIkSmQDVk974.png

 

2.2 extend():追加可迭代对象中所有元素

      例1:

list2=[1,2,3]
list3=[]
list3.extend(list2)

例2

wKiom1jkYCTQXvknAAARn7KrteQ693.png

wKiom1jkYDmDPT-6AAAJp3pHWio834.png

wKiom1jkYETQ_kqwAAALiCutB70700.png

2.3 insert():在指定索引位置插入

插入例子:

wKioL1jkYGXR8TAxAAAcMJEJ2h0227.png

2.4 pop():按照索引弹出元素,返回值为该元素。默认弹出最后一个元素。

例如:

classmates = ['Michael', 'Bob', 'Tracy']
classmates.pop()
classmates.pop(1)
print classmates

wKiom1jkYKODjIGPAAAVHisMLD8755.png

 

2.5 remove():按照元素值弹出第一个匹配项

例如:

wKioL1jkYLHBIcJbAAAR_QMQ-eU417.png-wh_50

 

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];
 
aList.remove('xyz');
print "List : ", aList;
aList.remove('abc');
print "List : ", aList;

 

2.6 count():统计指定值出现的次数

wKiom1jkYNizJ6DmAAAQGF-sjCo885.png

wKioL1jkYPvTSZvyAAAEz8lK9sI378.png

2.7 index():某个值第一次出现的位置

例如:

wKioL1jkYaDxIMaDAAAwO43craY042.png

2.8 reverse():反向存放

例如:

wKioL1jkYTWxrujzAAAMZnZcHrI509.png

wKiom1jkYbjx6xvYAAAUoYM56uI779.png

2.9  查询遍历:

for I in list
for i,k enumerate(li)

2.10 sort():排序

wKioL1jkYdjwqHXmAAASNv5l5b0868.png

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];
 
aList.sort();
print "List : ", aList;

wKiom1jkYf2RiQeTAAAHByFR_yM385.png

 

2.11 max() min()

wKioL1jkYg6z6QUpAAAHT9kbzPE176.png

6. 掌握序列类型操作:序列类型包括:字符串、列表、元组

3.1 +连接*重复

例如:

wKioL1jkYuPR7Hf3AAAiZ536Btg842.png

实例

wKiom1jkYvry2FUDAAADVsuJz0k771.png

wKioL1jkYjHRUzN0AAAEgEFYDXQ987.png

 

3.2 max():求最大值、min():求最小值

例如:

wKiom1jkYxbxH2JSAAAMro7N8Y8110.png

7. 掌握列表生成式

列表生成式,是Python内置的一种极其强大的生成list的表达式。

4.1 用于:基于已有列表生成新列表

4.2 语法结构:

列表生成式的书写格式:[x*x for x in range(1 , 11)]

第一:把要生成的元素 x*x 放到前面

第二:后面跟上for循环

这样就可以把list创建出来。

for循环后面还可以加上if判断

4.3 举例:

1到10之间的偶数平方再除以2  作为新列表元素

1到10之间的偶数 ,作为新列表元素

 

wKiom1jkYy2yAxchAAANlWaIgGI206.png


    

4.4 特点:一次性生成新列表,如果列表数据过大,会消耗大量资源。


三、字符串

1.2 掌握字符串常用方法

1.2.1 s.find() s.join() s.split() s.replace() s.strip() 
1.2.2 s. isalnum()/s.isalpha()/s.isdigit()
1.2.3 s.upper()/      s.lower()
1.2.4 s.count()
1.2.5 len(s)

【考核要求】

1. 序列类型常用操作

a) 索引和切片

1.1.1 索引:例:s[0]从左向右:索引从0开始 ;从右向左:索引从-1开始

1.1.2 切片:例:s[0:2]

wKioL1jkY3DBqSeuAAAHVzDy3Ng292.png

Print a[:2]

 

实例:

url = “www.python.org”

print url[4:10]

 

实例:

print "Hello"[:3] 从第一个字符开始截取

print "Hello"[0:] 从第一个字符开始截取,一直截取到最后

print "Hello"[:] 道理同(2)

wKiom1jkY4Lh5zI7AAAHGFMmjKg882.png

 

1.1.3 扩展切片:指定步长,例:s[0:9:2]

wKioL1jkY7qBfGAWAAAHVzDy3Ng553.png

print ABCDEFG[::2]

 

b) 掌握格式化输出:使用python输出各种类型的字符串、整数、浮点数

格式:

print “字符串  %format1 %format2…  ”  % (变量或值1,变量或值2...)

符号及其对应输出格式:

%d            十进制整数

%f                浮点数

%s                字符串

%%                用于输出符号%

 

                       实例:

                      

Name = ‘张飞’
Age= 16
print ‘my name is %s’ % Name
print ‘I am 16 years old’% Age
print "My name is %s and weight is %d kg!" % ('Zara', 21)

c) 强制类型转化

int():强制转换为整型,

例如:

wKiom1jkZCHzcOddAAAJN2tD2Hk824.png

注意:只能将由数字组成的字符串转换为整型


错误用法

wKiom1jkZC-xefBFAAAVtx82mOc894.png

 

float():强制转换为浮点型例如

wKioL1jkZDuCbIe2AAAIcK1y1dE958.png

 

str():强制转换为字符串例如:


 

wKiom1jkZEihXRD9AAAJCGEfRJo013.png


 

d) 字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型并验证

wKioL1jkZFPRZno3AAAYTdHXMbM428.png

 

2. 掌握字符串常用方法

s.find(t):查找子串t,找到返回首次出现位置的索引值,找不到则返回-1

实例:

wKioL1jkZI3xkP9KAAAGhLlD7ck337.png

 

s.split(sep):使用sep作为分割符,列表返回结果。

实例:str=”www.baidu.com”

str.split(".")  得到["www ","baidu","com"]序列

  实例:

  

wKiom1jkZKDA1rd2AAAEjX1mvPQ029.png


s.join(iter) 使用s作为连接符连接序列iter中所有元素

例如:list2=["h","e","l","l","o"," .","c","o","m"]

     “”.join(list2)

实例:

   

wKioL1jkZKvw46pDAAAEf2-WV_c228.png

    

 

s.replace(old,new):替换

实例

 

wKiom1jkZL3RAj5lAAAGkbVcXfU464.png


 

wKioL1jkZMajiq5NAAAFgD__ZGk854.png


      

s. strip(t): 删掉开头和结尾的字符t(没有参数t则删除空白符)

如:删除空白符 s1.strip()

wKiom1jkZP7wpd3nAAAGTn5zbNk194.png

s.isalpha()/s.isdigit(): /是否为字母/是否为数字

      

结果是bool类型

s.upper()/   s.lower():所有字母转化为大写字母/小写字母,

wKioL1jkZQ6g4hFlAAAIM8dEWGs728.png

s.count(t) 统计t出现的次数

wKiom1jkZR7wFy3aAAAFYL8q3PU541.png

   

wKioL1jkZSmCwDr_AAALS_ui0AY435.png


    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值