《python基础教程(第二版)》学习笔记 列表/元组(第2章)

时间:2021-11-27 12:45:02

《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])