从字典中提取和合并列表

时间:2014-02-27 15:10:17

标签: python

我有这样的字典:

my_dict = { 'a': ['a','b','c'],
            'x': ['x','y','z'] }

提取和合并列表的最简单方法是:['a','b','c','x','y','z']

编辑:结果可以是任意顺序,我们可以假设列表的元素是唯一的。

5 个答案:

答案 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]