列表

一.列表基本操作
1.修改元素
和数组一样

2.删除元素
del L[下标]

3.给切片赋值
>>> name = list(‘Perl’)
>>> name[1:] = list(‘ython’)
>>> name
[‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]

二.列表方法
1.append
将一个元素附加到列表尾

2.clear
清空列表

3.copy
常规复制(引用),会改变原值:
>>> a = [1, 2, 3]
>>> b = a
>>> b[1] = 4
>>> a
[1, 4, 3]
复制
>>> a = [1, 2, 3]
>>> b = a.copy()#类似于b=a[:]或者b=list(a)
>>> b[1] = 4
>>> a
[1, 2, 3]
但含子列表也会受到浅复制的影响
>>> a=[1,2,[4,5]]
>>> b=list(a)
>>> b[2][0]=100
>>> a
[1, 2, [100, 5]]#依旧为浅复制

4.count
统计元素在列表中出现的次数
>>> l=[1,2,3,4,4,4,4]
>>> l.count(4)
4

5.extend
将多个值(列表)加到列表的末尾,原来列表会改变(不同于列表拼接)
>>> l=[1,2,3];m=[4,5,6]
>>> l.extend(m)
>>> l
[1, 2, 3, 4, 5, 6]

6.index
返回指定值在列表中第一次出现的索引
>>> knights = [‘We’, ‘are’, ‘the’, ‘knights’, ‘who’, ‘say’, ‘ni’]
>>> knights.index(‘who’)
4

7.insert
>>> numbers = [1, 2, 3, 5, 6, 7]
>>> numbers.insert(3, ‘four’)
>>> numbers
[1, 2, 3, ‘four’, 5, 6, 7]

8.pop
删除列表末尾一个元素,并返回这个元素;无参数或者参数为索引
>>> x = [1, 2, 3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)#删除指定索引对应的元素
1

9.remove #参数为指定元素
删除指定元素

10.reverse
列表逆置;无返回值
>>> x = [1, 2, 3]
>>> x.reverse()
>>> x
[3, 2, 1]

reversed返回迭代器
>>> x = [1, 2, 3]
>>> list(reversed(x))
[3, 2, 1]

11.sort
就地排序;无返回值
>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]

sorted有返回值,为列表
>>> x = [4, 6, 2, 1, 7, 9]
>>> y = sorted(x)
>>> x
[4, 6, 2, 1, 7, 9]
>>> y
[1, 2, 4, 6, 7, 9]

12.高级排序
可选参数:key和reverse。
key为关键字函数
>>> x = [‘aardvark’, ‘abalone’, ‘acme’, ‘add’, ‘aerate’]
>>> x.sort(key=len)
>>> x
[‘add’, ‘acme’, ‘aerate’, ‘abalone’, ‘aardvark’]

reverse,只需将其指定为一个真值(True或False)
>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort(reverse=True)
>>> x
[9, 7, 6, 4, 2, 1]

0

发表评论

邮箱地址不会被公开。 必填项已用*标注