For循环中使用enumerate,可以同时表示每个元素的索引和值 x='qwerty' for p,v in enumerate(x): print(p,v) 0 q 1 w 2 e 3 r 4 t 5 y
Print不换行的方法: x='qwerty' for v in x: print(v,end='') 结果:qwerty
列表a追加单个元素b: a.append(b)或者a=a+b 据说,使用append比+效率高。
向列表指定位置插入元素用insert()(语法不明)
追加多个元素: a=['1','2'] b=['4','5','6'] a.extend(b) print(a) ['1', '2', '4', '5', '6'] extend和append不支持字符串。 感觉extend可以取代append。
修改元素: a=['1','2'] a[0]='x' print(a) 结果:['x', '2']
删除元素的方法: a=[1,2,3,4,5,6,6,7,7,8,9] 按索引删除: del a[2] print(a) 结果:[1, 2, 4, 5, 6, 6, 7, 7, 8, 9] a=[1,2,3,4,5,6,6,7,7,8,9] 按值删除: a.remove(7) print(a) 结果:[1, 2, 3, 4, 5, 6, 6, 7, 8, 9] 可见按值删除只删了一个!按值删除如果没有符合的值还会报错!
列表中某个值的元素有几个? a=[1,2,3,4,5,6,6,7,7,8,9] print(a.count(7)) 结果:2
求某值首次出现的索引: a=[1,2,3,4,5,6,6,7,7,8,9] print(a.index(7)) 结果:7 Python的index比IDL的where差很多嘛。
升序排列: a=[1,2,3,2,1] a.sort(reverse=False) print(a) 结果:[1, 1, 2, 2, 3] 降序排列把False改为True。
对字符列表排序: a=['cat','Tom','Angela','pet'] a.sort(reverse=False) print(a) a.sort(reverse=False,key=str.lower) print(a) 结果: ['Angela', 'Tom', 'cat', 'pet'] ['Angela', 'cat', 'pet', 'Tom'] key=str.lower表示不区分大小写,区分大小写会先排大写。 如果不想改变原列表,则使用sorted(),对a进行升序排序: a=['cat','Tom','Angela','pet'] b=sorted(a,reverse=False,key=str.lower) print(b) 结果:['Angela', 'cat', 'pet', 'Tom'] 区分:sort是个方法,sorted是个函数
二维列表: x=[[1,2,3],[4,5,6], [7,8,9]] print(x) 可见换行比较自由
Python的列表可以用del删元素,可以用append添加元素,都会改变列表大小。
Python的二维表先行后列,与C同。
|