0

我有一个列表,我想将其编入字典。

list_x = ['a', 'ada', 'aadsad', ......, 'sd']

无论此列表中的内容有多长(现在说 13 个)都可以成为字典,以便列表的第二项应该是键,其他所有内容,包括位置 0 都是值。

我已经尝试过其他示例中的 dict() 函数,但它并没有达到我想要的效果。先感谢您。

4

6 回答 6

2

这对你不起作用吗?

d = {}
d[list_x.pop(1)] = list_x
于 2012-10-22T06:44:49.743 回答
2

如果您不想修改您的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:]
   ....:     
   ....:  
于 2012-10-22T06:47:32.823 回答
1

一个奇怪的要求,但没关系。

dict_x = {list_x.pop(1): list_x}

于 2012-10-22T06:46:14.070 回答
1

还有另一种没有切片的方法:

dict.fromkeys( (list_x.pop(1),), list_x)
于 2012-10-22T06:48:02.073 回答
1

现在一个不会改变原始列表并且不添加切片的答案:

>>> r = range(len(list_x))
>>> del r[1]
>>> {list_x[1]: operator.itemgetter(*r)(list_x)}
{'ada': ('a', 'aadsad', ......, 'sd')}
于 2012-10-22T06:50:56.083 回答
1

不改变原来的

tmp = list_x[:]
{tmp.pop(1): tmp}
于 2012-10-22T07:13:16.847 回答