第二章—列表和元组

2.2通用的序列操作

2.2.1索引

>>>greeting='hello'
>>>greeting[0]
'h'

#-1是最后一个元素的值
>>>greeting[-1]
'o'

#可以直接对字符串进行索引操作
>>>'hello'[0]
'h'

2.2.2切片

#提供两个索引来确定切片的范围,第一个索引对应的值包含在内,第二个不包含
>>>numbers=[1,2,3,4,5,6,7,8,9,10]
>>>numbers[3:6]
[4,5,6]
>>>numbers[0:1]
[1]

#如果要从列表末尾开始数,可以使用负数索引
>>>numbers[-3:-1]
[8,9]

>>>numbers[-3:]
[8,9,10]

>>>numbers[:3]
[1,2,3]

#要整个列表
>>>numbers[:]
[1,2,3,4,5,6,7,8,9,10]
-------------------------------------------------------------------------------------
#你也可以设置步长
>>>numbers[0:10:2]
[1,3,5,7,9]

#步长不能为0,但可为负数,即从右往左提取元素
>>>numbers[8:3:-1]
[9,8,7,6,5]

#步长为负时,从终点到开始。正是从开始到终点
>>>numbers[5::-2]
[6,4,2]
>>>numbers[:5:-2]
[10,8]

2.2.3序列相加

2.2.4乘法

#将序列和数x相乘时,将重复这个序列x次来创建一个新的序列
>>>'python'*5
'pythonpythonpythonpythonpython'
>>>[42]*10
[42,42,42,42,42,42,42,42,42,42]

#将列表初始化
>>>[None]*10

2.2.5成员资格

#要检查特定的值是否在序列时,可用运算符in。满足返回True,否则返回False
>>>'x' in 'glaxy'
True

2.3 列表:python的主力

2.3.1函数list

#可以使用函数list来将字符串转换成列表,可以将任何序列作为list的参数
>>>list('hello')
['h','e','l','l','o']

#将字符列表转换成字符串,其中somelist是要转换的列表
''.join(somelist)

2.3.2基本的列表操作

#删除列表的元素,使用del语句
>>>names=['zhang','wang','li']
>>>del names[2]
>>>names
['zhang','meng']
#给切片赋值
>>>name=list('perl')
>>>name
['p','e','r','l']
>>>name[2:]=list('ar')
>>>name
['p','e','a','r']

#在不替换元素的情况下插入新的元素
>>>numbers=[1,5]
>>>numbers[1:1]=[2,3,4]
>>>numbers
[1,2,3,4,5]

#与del numbers[1:4]等价
>>>numbers[1:4]=[]
>>>numbers
[1,5]

2.3.3列表方法

#方法append将一个对象加到列表末尾
>>>lst=[1,2,3]
>>>lst.append(4)
>>>lst
[1,2,3,4]

#方法clear就地清空列表内容
>>>lst.clear()
>>>lst
[]

#方法copy复制成为一个副本,在下面相当于使用a[:]或list(a)
>>>a=[1,2,3]
>>>b=a.copy()
>>>b[1]=4
>>>a
[1,2,3]

#方法count计算指定元素在列表出现次数
>>>[1,2,1,1].count(1)
3

#方法extend让你可以使用一个列表来拓展另一个列表
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>a.extend(b)
>>>a
[1,2,3,4,5,6]

#方法index在列表中查找指定值第一次出现的索引
>>>a=[1,2,3]
>>>a.index(3)
2

#方法insert将一个对象插入列表
>>>a=[1,2,3]
>>>a.insert(2,'zhang')
>>>a
[1,2,'zhang',3]

#方法pop从列表中删除一个元素,并返回这一元素,pop是唯一修改列表并且返回一个非None的列表方法
>>>a=[1,2,3]
>>>a.pop()
>>>3
>>>a.pop(1)
2

#方法remove删除第一个为指定值的元素
>>>a=[1,2,3,2]
>>>a.remove(2)
>>>a
[1,3,2]

#方法reverse是列表顺序相反
>>>a=[1,2,3]
>>>a.reverse()
>>>a
[3,2,1]

#方法sort对列表就地排序,但是没有返回值
>>>x=[2,1,4,5,3]
>>>x.sort()
>>>x
[1,2,3,4,5]

#要获取排序后的列表,可使用函数sorted
>>>y=sorted(x)
>>>y
[1,2,3,4,5]
#并且总是返回一个列表
>>>sorted('python')
['p','y','t','h','o','n']

#sort接受两个参数:key和reverse
#你可以设置key作为排序的依据
>>>x=['zhang','wang','li','sun']
>>>x.sort(key=len)
>>>x
['li','sun','wang','zhang']
#可以设置reverse升序或是降序
>>>x=[2,3,4,1,5]
>>>x.sort(reverse=True)
>>>x
[5,4,3,2,1]

2.4元组:不可修改的序列

#创建元组
>>>1,2,3
(1,2,3)
>>>42
42
>>>42,
(42,)

#函数tuple将一个序列转化为元组
>>>tuple([1,2,3])
(1,2,3)

猜你喜欢

转载自blog.csdn.net/why_cant_i_change/article/details/82563443