我有一个列表,我想将其编入字典。
list_x = ['a', 'ada', 'aadsad', ......, 'sd']
无论此列表中的内容有多长(现在说 13 个)都可以成为字典,以便列表的第二项应该是键,其他所有内容,包括位置 0 都是值。
我已经尝试过其他示例中的 dict() 函数,但它并没有达到我想要的效果。先感谢您。
我有一个列表,我想将其编入字典。
list_x = ['a', 'ada', 'aadsad', ......, 'sd']
无论此列表中的内容有多长(现在说 13 个)都可以成为字典,以便列表的第二项应该是键,其他所有内容,包括位置 0 都是值。
我已经尝试过其他示例中的 dict() 函数,但它并没有达到我想要的效果。先感谢您。
这对你不起作用吗?
d = {}
d[list_x.pop(1)] = list_x
如果您不想修改您的list
:
In [13]: list_x = ['a', 'ada', 'aadsad','sd']
In [14]: d={list_x[1]:list_x[0:1]+list_x[2:]}
In [15]: d
Out[15]: {'ada': ['a', 'aadsad', 'sd']}
编辑:
如果您要遍历多个列表:
In [72]: dic={}
In [73]: for x in multiple_lists:
....: dic[x[1]]=x[0:1]+x[2:]
....:
....:
一个奇怪的要求,但没关系。
dict_x = {list_x.pop(1): list_x}
还有另一种没有切片的方法:
dict.fromkeys( (list_x.pop(1),), list_x)
现在一个不会改变原始列表并且不添加切片的答案:
>>> r = range(len(list_x))
>>> del r[1]
>>> {list_x[1]: operator.itemgetter(*r)(list_x)}
{'ada': ('a', 'aadsad', ......, 'sd')}
不改变原来的
tmp = list_x[:]
{tmp.pop(1): tmp}