Python列表
-
Python列表是基于C语言的数组的。是由对其他对象的引用组成的连续数组;
-
列表头保存指向上述数组的指针及数组长度;
-
大部分列表操作的时间复杂度如下:
-
列表推导
# 使用列表推导语法简洁,而且比使用for运算速度要快的多;
l1 = [ i for i in range(10) if i % 2 == 0 ]
- enumerate,可以很方便的获取列表中元素的索引
for idx, ele in enumerate(list('abc')):
print(idx, ele)
# 0 a
# 1 b
# 2 c
- zip,对两个大小相同的列表均匀遍历
for item in zip((1,2,3), [4,5,6]):
print(item)
# (1, 4)
# (2, 5)
# (3, 6)
# 对zip()函数返回的结果再次调用zip(),相当于啥也没做
for item in zip(*zip((1,2,3), [4,5,6]):
print(item)
# (1, 2, 3)
# (4, 5, 6)
- 序列解包
n1, n2, n3 = 'ming', 'hong', 'hua'
n1, n2, *n3 = 1, 2, 3, 4 ,5 ,6 # 1; 2; [3,4,5,6]
n1, *n2, n3 = 1, 2, 3, 4 ,5 ,6 # 1; [2,3,4,5]; 6
# 交换值
a = 10
b = 20
a, b = b, a