将集合转换为字典的最简单方法是什么?比如从{'a', 'b'}
到{'a': 0, 'b': 1}
?顺序不重要,但它应该从0开始,直到集合本身的大小。
对enumerate
使用字典理解
>>> s = {'a', 'b'}
>>> {k:idx for idx,k in enumerate(s)}
{'a': 0, 'b': 1}
仅使用zip
和range
的dict
构造函数:
>>> s = {'a', 'b'}
>>> dict(zip(s, range(len(s))))
{'b': 0, 'a': 1}
和类似的方法,使用itertools.count
:
>>> from itertools import count
>>> dict(zip(s, count()))
{'b': 0, 'a': 1}
您可以使用enumerate
:
set1={'a', 'b'}
dict1={j:i for i,j in enumerate(set1)}
print(dict1)
输出:
{'b': 0, 'a': 1}
>>> a = {'a', 'b'}
>>> dic = {i:val for val, i in enumerate(a)}
>>> dic
{'b': 0, 'a': 1}