返回从字典理解嵌套列表的字典

问题描述:

my_list = [ [1,2], [2,3], [3,4] ] 

# my attempt 
output = { {'a':k[0], 'b':k[1]} for k in my_list } 

#desired output 
[ {a:1, b:2}, {a:2, b:3}, {a:3,b:4} ] 

有没有办法让字典理解返回一个字典,与多个键?返回从字典理解嵌套列表的字典

+4

你需要一个列表理解代替字典排版'[{ 'A':K [0], 'B':K [1]}对于k在my_list]'由于最后的输出是一个列表。 – Psidom

也许你想做到这一点:

output = [ {'a':k[0], 'b':k[1]} for k in my_list ] 
#  ^         ^

我们称之为列表理解Python编写的。

你的外部结构应该是你的输出列表,你被错误地尝试执行一套理解,而不是一个列表理解。这会失败,因为set元素必须是可散列的,并且字典不是可变的。另外,在这种情况下,您可以将列表项解包得更清楚。

>>> [dict(a=x, b=y) for x, y in my_list] 
[{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}] 

my_list = [ [1,2], [2,3], [3,4] ] 
[dict(zip(['a', 'b'], x)) for x in my_list]