一个class轮:从列表中创build索引作为关键字的字典
我想从给定的列表中创build一个字典, 只需一行 。 字典的键将是索引,值将是列表的元素。 像这样的东西:
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}
enumerate(sequence, start=0)
返回一个枚举对象。 序列必须是一个序列,一个迭代器或其他支持迭代的对象。 由
enumerate()
返回的迭代器的next()
方法返回一个tuple
,该tuple
包含一个count(从start开始 ,默认为0)和迭代序列获得的值:
与另一个构造函数,你有
a = [51,27,13,56] #given list d={i:x for i,x in enumerate(a)} print(d)
尝试enumerate
:它将返回元组(i, a[i])
的列表(或迭代器),您可以从中创build一个dict
:
a = [51,27,13,56] b = dict(enumerate(a)) print b
{x:a[x] for x in range(len(a))}
简单地使用列表理解。
a = [51,27,13,56] b = dict( [ ((i,a[i]) for i in range(len(a)) ] ) print b