本篇文章汇总了 Python 当中列表的高效用法,主要包括:对列表进行切片、通过*
操作符对列表进行解包、通过key
参数制定sort
函数的排序方法。
1. 对列表进行切片
切片是Python中的一个强大的特性,可以用来获取序列的子序列。
使用切片的建议:
1. 从头或尾开始切片时,不要使用 0 或- 1 作为索引,直接使用空值即可。
2. 切片允许起始位置和结束位置越界,不会报错,所以不用担心切片是否真有这么多元素。
3. 可以使用赋值运算符给切片赋值,但可能会改变原列表的长度。
a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print('First four:', a[:4]) # 从起始到第4个元素,不包括a[4]
print('Last four:', a[-4:]) # 从倒数第4个元素到最后
print('Middle two:', a[3:5]) # 元素:a[3], a[4]
print('All elements:', a[:20]) # 所有元素。尽管列表a的个数小于20个,但是不会报错
# 切片的赋值。切片可以被赋值
# 如果赋值运算符的右侧个数与切片的长度不同,切片的长度会改变
a[2:7] = [99, 22, 14]
print(a) # ['a', 'b', 99, 22, 14, 'h']
# 切片赋值也可以删除元素
a[2:3] = [11, 12, 13]
print(a) # ['a', 'b', 11, 12, 13, 22, 14, 'h']
# 起止位置都为空,相当于复制整个列表
b = a[: