《python基础教程(第二版)》学习笔记 列表/元组(第2章)
序列中的下标从0开始
x=\'ABC\' ==> x[0]=\'A\', x[1]=\'B\', x[2]=\'C\'
负数索引从右边开始。最后一个元素下标是-1;x[-1]=\'C\'
\'ABC\'[0] ==> \'A\'
raw_input("x:")[3] 输入数据当作字符串
列表分片:x[2:5], x[-3:-1], x[-3:], x[:3], x[:] #列表名字[起始下标:结束下标] 注意:尾标的元素不包含在内
列表分片+步长: x[0:10:2], x[8:3:-1], x[::2], x[5::-1] #列表名字[起始下标:结束下标:步长]; 步长为负数时从右向左取。
序列相加:
[1,2]+[3,4] ==> [1, 2, 3, 4]
\'ABC\' + \'123\' ==> \'ABC123\'
序列乘法(重复):
\'ABC\'*2 ==> \'ABCABC\'
[1,2,3]*2 ==> [1, 2, 3, 1, 2, 3]
None 空值
[] 空序列
初始化序列:x=[None]*3 ==> x=[None, None, None]
成员资格:
\'3\' in [\'1\',\'2\',\'3\'] ==> True
\'3\' in \'123\' ==> True
元素个数:len([1,2,3]) ==> 3
最大值:max([1,2,3]) ==> 3
最小值:min([1,2,3]) ==> 1
把字符串转为列表:
list(\'ABC\') ==> [\'A\', \'B\', \'C\']
连接元素:
x=list(\'ABC\'); \'-\'.join(x) ==> \'A-B-C\' #连接字符.join(列表)
赋值:
x=list(\'ABC\'); x[1]=\'2\' ==> x=[\'A\', \'2\', \'C\']
删除元素:
x=list(\'ABC\'); del x[1] ==> [\'A\', \'C\']
分片赋值:
x=list(\'ABC\'); x[2:2]=list(\'23\') ==> [\'A\', \'B\', \'2\', \'3\', \'C\'] # 插入新元素
x=list(\'ABC\'); x[1:2]=[] ==> x=[\'A\', \'C\'] # 删除元素
列表方法:
x=[1,2]; x.append(3) ==> x=[1, 2, 3] #追加元素
x=[1, 2, 3]; x.count(3) ==> 1 #统计元素出现次数
x=[1, 2, 3]; y=[8,9]; x.extend(y) ==> x=[1, 2, 3, 8, 9] # 把一个序列的元素追加到另外一个序列的末尾
[1,2,3]+[4,5,6] ==> [1,2,3,4,5,6]
[1,2,3,4,5,6].index(4) ==> 3 # 查找一个元素的下标
x=[1,2,3]; x.insert(2,8) ==> x=[1, 2, 8, 3] #插入元素
x=[1,2,3]; x.pop() ==> 3, x=[1, 2] # 返回最后一个元素;并删除最后一个元素
x=[1,2,3]; x.pop(0) ==> 1, x=[2, 3] # 返回下标为0的元素,并删除该元素
x=[1,2,3]; x.remove(2) ==> x=[1, 3] #删除元素2
x=[1,2,3]; x.reverse() ==> x=[3, 2, 1] #倒置列表
x=[9,7,8]; x.sort() ==> x=[7, 8, 9] # 从小到大排序;注意:x.sort()没有返回值
x=[9,7,8]; y=sorted(x) ==> x=[9,7,8] y=[7, 8, 9]
高级排序:
x=[9,7,8]; x.sort(cmp) # 采用cmp函数排序
x=[9,7,8]; x.sort(key=len) # 根据元素的长度排序
x=[9,7,8]; x.sort(reverse=True) # 反向排序;从大到小
元组不能修改;元组中必须有逗号
1,2,3 #三个元素的元组
(1,2,3) #三个元素的元组
() #空元组
1, ==> (1,) #1个元素的元组
(1,) #1个元素的元组
2*(1,) ==> (1, 1) # 元组乘法/重复
tuple([1,2,3]) ==> (1, 2, 3) # 把序列变为元组
tuple(\'abc\') ==> (\'a\', \'b\', \'c\') # 把序列变为元组
tuple((1,2,3)) ==> (1, 2, 3)
元组的操作和列表类似,只是元组不能修改;
遍历列表的方法:
for item in thelist:
doSoming(item)
for i in range(len(thelist)):
doSoming(thelist[i])