Python的內置函數enumerate()函數用來枚舉可迭代對象中的元素,返回可迭代的enumerate對象,其中每個元素都是包含索引和值的元組。
#枚舉字符串中的元素
python菜鳥教程?>>> list(enumerate('abcd'))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
#枚舉列表中的元素
python中對象的定義,>>> list(enumerate(['Python', 'Greate']))
[(0, 'Python'), (1, 'Greate')]
>>> d =?{'a':97, 'b':98, 'c':99}
python中lambda,#枚舉字典中的元素
>>> list(enumerate(d.items()))
[(0, ('a', 97)), (1, ('b', 98)), (2, ('c', 99))]
ljust python?#枚舉range對象中的元素
>>> for index, value in enumerate(range(10, 15)):
print((index, value), end=' ')
python enumerate用法。(0, 10) (1, 11) (2, 12) (3, 13) (4, 14)?
#可以指定枚舉時索引的起始值,這并不常用
>>> list(enumerate('abcd', 5))
python的format函數怎么用?[(5, 'a'), (6, 'b'), (7, 'c'), (8, 'd')]
enumerate對象具有惰性求值特點,就好像一個一端有擋板的管子里有很多外徑略小于管子內徑的圓球,每次只能打開擋板拿出最前面的圓球,不去拿的時候擋板是關的,不會有圓球出來。并且,已經拿出來的圓球管子里就沒有了(可以想象每個圓球都有編號)。
正如上面所說,enumerate對象中已經訪問過的元素無法再次訪問,在使用時要注意這個問題。另外,zip、filter、map等對象也具有類似的特點。
>>> x = enumerate('abcde')
>>> (0,'a') in x
True
#元素(0,'a')已經訪問過了,無法再次訪問
>>> (0,'a') in x
False
#不支持使用下標訪問其中的元素
>>> x[-1]
Traceback (most recent call last):
? File "<pyshell#43>", line 1, in <module>
? ? x[-1]
TypeError: 'enumerate' object is not subscriptable
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态