如何合并列表列表

时间:2014-11-02 18:32:25

标签: python list

我正在使用Python进行编码项目。我被困在一些似乎应该是一个简单的修复但却没有太多运气的东西上。

假设我有两个列表,每个列表都包含较小的列表......

Buckets= [[1,2,3],[1,2,3],[1,2,3]]
Emptybuckets=[[1],[],[3]]

我怎样才能将这些添加到一起,以便得到:

[[1,1,2,3],[1,2,3],[1,2,3,3]]

我已尝试过emptybuckets.append(buckets)for次循环(for x in emptybuckets ... append)等。

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:6)

使用zip将相应的索引组合在一起,然后添加它们很容易:

[a+b for a, b in zip(Buckets, Emptybuckets)]
# [[1, 2, 3, 1], [1, 2, 3], [1, 2, 3, 3]]

或者如果你想要它在你的问题中的确切方式,只需按你的方式对每一个进行排序:

[sorted(a+b) for a, b in zip(Buckets, Emptybuckets)]
# [[1, 1, 2, 3], [1, 2, 3], [1, 2, 3, 3]]

答案 1 :(得分:2)

亚历克斯桑顿的回答是正确的,如果你想要在你的问题中说明所订的号码,我会说你应该加sorted

[sorted(a+b) for a, b in zip(Buckets, Emptybuckets)]