在python

时间:2015-09-16 09:23:26

标签: python list dictionary sublist

我看了但是我找不到答案(我对python很新)。

问题很简单。我有一个由子列表组成的列表:

ll
[[1,2,3], [4,5,6], [7,8,9]]

我要做的是创建一个字典,其中每个子列表的第一个元素都是关键字,并且值为相应的子列表的值,如:

d = {1:[2,3], 4:[5,6], 7:[8,9]}

我该怎么做?

4 个答案:

答案 0 :(得分:6)

使用字典理解(对于Python 2.7 +)和切片 -

d = {e[0] : e[1:] for e in ll}

演示 -

>>> ll = [[1,2,3], [4,5,6], [7,8,9]]
>>> d = {e[0] : e[1:] for e in ll}
>>> d
{1: [2, 3], 4: [5, 6], 7: [8, 9]}

答案 1 :(得分:4)

使用dict comprehension

{words[0]:words[1:] for words in lst}

<强>输出:

{1: [2, 3], 4: [5, 6], 7: [8, 9]}

答案 2 :(得分:2)

你可以这样做:

ll = [[1,2,3], [4,5,6], [7,8,9]]
dct = dict( (item[0], item[1:]) for item in ll)
# or even:   dct = { item[0]: item[1:] for item in ll }
print(dct)
# {1: [2, 3], 4: [5, 6], 7: [8, 9]}

答案 3 :(得分:0)

主题的另一个变体:

d = {e.pop(0): e for e in ll}