1 len()函数
用于查看序列对象的长度
lst = [1, 2, 3, 4]
print(len(lst))
result:
4
2 enumerate()函数
用于序列的枚举生成
2.1 基本用法
2.1.1 迭代对象为列表时
此时可以同时对索引和值进行迭代
lst = [1, 2, 3, 4]
print(list(enumerate(lst)))
result:
[(0, 1), (1, 2), (2, 3), (3, 4)]
2.1.2 迭代对象为元组时
此时可以同时对索引和值进行迭代
lst = (1, 2, 3, 4)
print(list(enumerate(lst)))
result:
[(0, 1), (1, 2), (2, 3), (3, 4)]
2.1.3 迭代对象为集合时
此时可以同时对索引和值进行迭代
lst = {1, 2, 3, 4}
print(list(enumerate(lst)))
result:
[(0, 1), (1, 2), (2, 3), (3, 4)]
2.1.4 迭代对象为字符串时
此时可以同时对索引和值进行迭代
lst = '1234'
print(list(enumerate(lst)))
result:
[(0, '1'), (1, '2'), (2, '3'), (3, '4')][(0, 1), (1, 2), (2, 3), (3, 4)]
2.1.5 迭代对象为字典时
在字典上使用enumerate()函数时获得是索引和其键的迭代。
dict1 = {"a": "A", "b": "B"}
print(list(enumerate(dict1)))
result:
[(0, 'a'), (1, 'b')]
2.2 指定起始索引值
lst = [1, 2, 3, 4]
print(list(enumerate(lst, 2)))
result:
[(2, 1), (3, 2), (4, 3), (5, 4)]
3 zip()函数
对指定的一个或多个成员进行合并操作
lst = [1, 2, 3, 4]
reason = ['spring', 'summer', 'autumn', 'winter']
print(list(zip(lst, reason)))
result:
[(1, 'spring'), (2, 'summer'), (3, 'autumn'), (4, 'winter')]
这里要注意,zip()函数迭代是由指定顺序的,就这里的例子来说,只会出现lst中的第1个元素和reason中的第1个元素搭配,lst中的第2个元素和reason中的第2个元素搭配,而不会出现lst中的第2个元素和reason中的第3个元素搭配这种形式。
另外,zip()迭代的多个成员长度不一致时,按照最短的成员来进行迭代,多余的元素会被丢弃。这里举例如下:
lst = [1, 2, 3, 4]
reason = ['spring', 'summer', 'autumn', 'winter']
letters = ['a', 'b']
print(list(zip(lst, reason, letters)))
result:
[(1, 'spring', 'a'), (2, 'summer', 'b')]