1、增加或移除元素
1.1 append 和 remove
x.append(9)
方法可以将9添加到列表x的尾部。
x.remove(9)
方法可以x中第一个9去掉。
1.2 insert 和 pop
x.insert(2, 't')
在列表x的第三个位置上添加t。
x.pop(3)
将列表x的第四个位置元素删除并返回。
1.3 extend
x.extend([1, 2, 3, 4, 't'])
在已知x是一个列表时,可以用extend()
来大量增加元素到x中。注意extend中只有一个变量,且是列表,如代码所示。
2 、索引
2.1 sort函数
x.sort(key=) #将列表x按key=?来排序
2.2 bisect.bisect 和 bisect.insort
bisect.bisect
会找到元素应该被插入的位置,并保持列表的排序;bisect.insort
将元素插入到该位置。
import bisect
seq = [7, 2, 3, 6, 3, 5, 6, 0, 1, 0]
a = bisect.bisect(seq, 5)
print(a)
bisect.insort(seq, 8)
print(seq)
10
[7, 2, 3, 6, 3, 5, 6, 0, 1, 0, 8]
当列表元素没有排序时,bisect.bisect
和bisect.insort
会将函数第二个位置的值(上述为5和8)简单放在列表最后。
seq1 = [1, 2, 2, 3, 4, 5, 5, 5, 6, 9]
a = bisect.bisect(seq1, 2)
print(a)
b = bisect.bisect(seq1, 7)
print(b)
bisect.insort(seq1, 8)
print(seq1)
3
9
[1, 2, 2, 3, 4, 5, 5, 5, 6, 8, 9]
当列表排序好时,bisect.bisect
和bisect.insort
会按大小顺序将函数第二个位置的值(上述为2、7和8)放入列表中进行操作。
2.3 列表切片
x = [1, 2, 3, 4, 5, 6, 7, 8]
print(x[-5:-2])
4, 5, 6
[-5:-2] 从列表的最后开始切片。当从最后开始切片的时候,最后一个位置应该是-1(而不是0)。
3、enumerate 和 zip
enumerate(list)
:输入一个列表,返回一个由元组组成的列表,列表中每个元素都是一个元组,元组由输入的list 中的元素和其索引值组成,即 (i, value) 。eg:
some_list = ['foo', 'bar', 'baz']
print(list(enumerate(some_list)))
#结果:
[(0, 'foo'), (1, 'bar'), (2, 'baz')]
zip(x, y)
: 将列表、元组或其他序列的元素配对,新建一个元组构成的列表。zip可以处理任意长度的序列,它生成的列表长度由最短的序列决定。
x = ['A', 'B', 'C']
y = ['a', 'b', 'c']
x_y = zip(x, y)
print(list(x_y))
#结果:
[('A', 'a'), ('B', 'b'), ('C', 'c')]
zip“解压”: zip(*list)
可以将已经配对好的序列拆分,
names = [('A', 'a'), ('B', 'b'), ('C', 'c')]
upper_names, lower_names = zip(*names)
print(lower_names)
#结果:
('a', 'b', 'c')
4、reversed
reversed(list)
可以将list中的元素倒序排列