我想从给定的列表中创建一个字典,只需一行。字典的键是索引,值是列表的元素。像这样的东西:
a = [51,27,13,56] #given list
d = one-line-statement #one line statement to create dictionary
print(d)
输出:
{0:51, 1:27, 2:13, 3:56}
对于我为什么想要一条线路,我没有任何具体要求。我只是在探索 python,想知道这是否可能。
我想从给定的列表中创建一个字典,只需一行。字典的键是索引,值是列表的元素。像这样的东西:
a = [51,27,13,56] #given list
d = one-line-statement #one line statement to create dictionary
print(d)
输出:
{0:51, 1:27, 2:13, 3:56}
对于我为什么想要一条线路,我没有任何具体要求。我只是在探索 python,想知道这是否可能。
a = [51,27,13,56]
b = dict(enumerate(a))
print(b)
会产生
{0: 51, 1: 27, 2: 13, 3: 56}
返回一个枚举对象。序列必须是序列、迭代器或其他支持迭代的对象。
next()
由返回的迭代器的方法enumerate()
返回一个tuple
包含计数(从默认为 0 的开始)和通过迭代序列获得的值:
使用另一个构造函数,您有
a = [51,27,13,56] #given list
d={i:x for i,x in enumerate(a)}
print(d)
{x:a[x] for x in range(len(a))}
尝试enumerate
:它将返回一个元组列表(或迭代器)(i, a[i])
,您可以从中构建一个dict
:
a = [51,27,13,56]
b = dict(enumerate(a))
print b
只需使用列表理解。
a = [51,27,13,56]
b = dict( [ (i,a[i]) for i in range(len(a)) ] )
print b