今天翻看官方文件,发现有一个内置函数 enumerate() 非常陌生,就拿来敲一下代码,还真的有意外惊喜呢。
1 a = {"jack": "man", "marry": "woman"} 2 b = enumerate(a.items()) 3 for k, v in d: 4 print(k, v) 5 6 #显示结果 7 0 ('jack', 'man') 8 1 ('marry', 'woman')
enumerate()内置函数给字典键值对加上了编号
a = {"jack": "man", "marry": "woman"} b = enumerate(a.items(), 1) #给enumerate设置参数1 for k, v in b: print(k, v) #显示结果 1 ('jack', 'man') 2 ('marry', 'woman')
设置参数1后,编号自动从1开始计数
看来enumerate()内置函数的工作性质是位勤劳的报数工。
以下是官方文件的说明:
enumerate
(iterable, start=0)
返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate()
返回的迭代器的 __next__()
方法返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。
看来,只要是可迭代的对象都可以使用enumerate内置函数。