我有这样的字典:
my_dict = { 'a': ['a','b','c'],
'x': ['x','y','z'] }
提取和合并列表的最简单方法是:['a','b','c','x','y','z']
?
编辑:结果可以是任意顺序,我们可以假设列表的元素是唯一的。
答案 0 :(得分:3)
[v for val in my_dict.itervalues() for v in val]
答案 1 :(得分:3)
简洁明了:
sum(my_dict.values(), [])
<强>更新强>
这种解决方案很优雅,但具有二次时间复杂度。如果您希望获得大量输入数据,则可以选择其他解决方案。
答案 2 :(得分:2)
print [v for k in my_dict for v in my_dict[k]]
# ['a', 'b', 'c', 'x', 'y', 'z']
只需遍历键,然后遍历值,就像这样,使用列表推导来生成列表。
答案 3 :(得分:0)
这是一种非常简单但不是最佳的方式:
my_dict = { 'a': ['a','b','c'],
'x': ['x','y','z'] }
l = []
for key in my_dict:
for element in my_dict[key]:
l.append(element)
print l
>>> ['a', 'b', 'c', 'x', 'y', 'z']
答案 4 :(得分:0)
my_dict = { 'a': ['a','b','c'],
'x': ['x','y','z'] }
您可以遍历字典中的所有键,并将相应的值添加到最终列表中。像这样:
my_list = []
for key in my_dict.keys():
my_list += my_dict[key]