如何创建一个值:python 列表中的索引字典?
How to create a value: index dict from a python list?
我有一个列表:
a = ['a', 'b', 'c']
我要获取字典:
b = {'a':0, 'b':1, 'c':2}
获得它的最 pythonic 方法是什么?
以下对您有帮助吗?
b = dict(map(lambda t: (t[1], t[0]), enumerate(a)))
示例:
>>> dict(map(lambda t: (t[1], t[0]), enumerate(['a', 'b', 'c'])))
{'b': 1, 'c': 2, 'a': 0}
最简单的(在我看来也是最 pythonic 的)方法是:
b = dict(enumerate(a))
a = ['a','b','c']
b = dict(enumerate(a))
print(b)
它将产生:
{0: 'a', 1: 'b', 2: 'c'}
使用index
:
a = ['a', 'b', 'c']
dict_a = {}
for x in a:
dict_a[a.index(x)] = x
print(dict_a)
我有一个列表:
a = ['a', 'b', 'c']
我要获取字典:
b = {'a':0, 'b':1, 'c':2}
获得它的最 pythonic 方法是什么?
以下对您有帮助吗?
b = dict(map(lambda t: (t[1], t[0]), enumerate(a)))
示例:
>>> dict(map(lambda t: (t[1], t[0]), enumerate(['a', 'b', 'c'])))
{'b': 1, 'c': 2, 'a': 0}
最简单的(在我看来也是最 pythonic 的)方法是:
b = dict(enumerate(a))
a = ['a','b','c']
b = dict(enumerate(a))
print(b)
它将产生:
{0: 'a', 1: 'b', 2: 'c'}
使用index
:
a = ['a', 'b', 'c']
dict_a = {}
for x in a:
dict_a[a.index(x)] = x
print(dict_a)