2024-03-29 09:22:27 发布
网友
Python的enumerate()返回索引和值的元组:
enumerate()
enumerate('abc') ((0,'a'),(1,'b'),(2,'c'))
我想用item,index顺序(('a', 0))代替那些元组。在
item,index
('a', 0)
我怎么能做到呢?在
我想用颠倒的元组来创建一个字典,比如:
总有一些好的,老式的匿名函数来帮你完成工作。这不是最干净的解决方案,但它能完成任务。在
dict(map(lambda x: (x[1], x[0]), enumerate('abc')))
一种解决方案是使用itertools库:
itertools
import itertools dict(zip('abc', itertools.count()))
itertools.count()是生成0、1、2的生成器对象。。。而zip函数只是。。。把这两个拉在一起。在
itertools.count()
zip
使用dict理解来反转它:
dict
result = {v: i for i, v in enumerate('abc')}
寻址@karakfa的点-这将覆盖可能重复的元素。如果字符串是abca,则为a分配的索引值将包含3,而不是{}。在
abca
a
3
总有一些好的,老式的匿名函数来帮你完成工作。这不是最干净的解决方案,但它能完成任务。在
一种解决方案是使用
itertools
库:itertools.count()
是生成0、1、2的生成器对象。。。而zip
函数只是。。。把这两个拉在一起。在使用
dict
理解来反转它:寻址@karakfa的点-这将覆盖可能重复的元素。如果字符串是}。在
abca
,则为a
分配的索引值将包含3
,而不是{相关问题 更多 >
编程相关推荐