python2

列表

a = [1,2,3,4,5,6,7]

a[0:4:1]//正向索引

a[-1:-2:-1]//反向索引

列表添加

a = [1, 2]

b = [3, 4]

+:a + b//把a和b连接,重新获得一个列表

extend:a.extend(b)//把a和b连接,并把值赋给a

append:a.append(5)//插入一个元素

insert:a.insert(1, 3)//在指定位置插入一个元素

列表删除

del:del a[0]//删除索引元素

  del a//删除列表对象a的引用,再输出a,会出现异常,a不存在

  del a[:]//删除列表对象里的元素,再输出a,会显示[]

remove:b.remove(3)//删除指定元素

pop:a.pop()//删除最后一个元素,并返回它

  : a.pop(0)//删除指定元素,并返回值

in和not in(包含)

列表推导式

[x for x in 列表]:[x for x in range(1,11)]

[x for x in 列表 if 条件]:[(x,y) for x in [1,2,3] for y in [1,2,4] if x != y]

range(10)和xrange(10)作用相同,但是range()是生成一个0到10的列表,

而xrange()是生成一个xrange的对象,比较节省内存。

列表排序

a = [33,11,22,10]

a.sort()//结果[10, 11, 22, 33]

a.reverse()//翻转[33, 22, 11, 10]

sort()和sorted()的区别

a = ['4581','9578','315']

a.sort()// 改变的是列表a本身

sorted(a)// a本身未改变,生成新的列表

a = ['4581','9578','315']

>>> a.sort(key=int)// 把字符串按照int类型排序
>>> a
['315', '4581', '9578']

>>> a = [('c',88),('a',99),('a',77)]
>>> a
[('c', 88), ('a', 99), ('a', 77)]
>>> sorted(a)
[('a', 77), ('a', 99), ('c', 88)]

>>> sorted(a,key=lambda x:x[1])
[('a', 77), ('c', 88), ('a', 99)]

// 姓名,分数,等级 ['Bob', 95.0, 'A']

>>> import operator
>>> a = [['Bob',95.00,'A'],['Alan',86.0,'C'],['Mandy',82.5,'A'],['Rob',86,'E']]
>>> a

[['Bob', 95.0, 'A'], ['Alan', 86.0, 'C'], ['Mandy', 82.5, 'A'], ['Rob', 86, 'E']]
>>> sorted(a, key=itemgetter(2, 1))// 先按照分数排序,再按照等级排序
[['Mandy', 82.5, 'A'], ['Bob', 95.0, 'A'], ['Alan', 86.0, 'C'], ['Rob', 86, 'E']]

原文地址:https://www.cnblogs.com/dulianyong/p/10058715.html