如果共享一些元素,则组合元组的元组

时间:2016-07-09 19:50:30

标签: python list dictionary tuples multiset

我有两个元组元组("一个"和#34;两个")我需要加入它们。如果位置1,2,3,4和5中的第一元组的子元素(例如,一个[0])等于元组二中的前五个元素(例如,如果一个[0] [0] ==两个[0] [0]和一个[0] [1] ==两个[0] [1] ...和一个[0] [5] ==两个[0] [5]),然后他们需要合并:

one = (
(25, "sample", "x", "y", "z", 200, 50, 45),
)
two = (
(25, "other", "p", "q", "r", 0),
)
result = (
(25, "sample", "x", "y", "z", 200, 50, 0, 45),
)

例如,使用这两个元组

one = (
(25, "sample", "x", "y", "z", 200, 50, 45),
(25, "other", "p", "q", "r", 100, 25, 0),
(27, "sample", "x", "y", "z", 200, 50, 45),
(28, "other", "p", "q", "r", 100, 25, 0),
)

two = (
(1, "sample", "x", "y", "z", 45),
(25, "other", "p", "q", "r", 0),
(27, "sample", "x", "y", "z", 20),
(28, "other", "p", "q", "r", 1),
)

结果必须是这样的(它可能是列表列表,一个dicts列表或只是一个元组元组:

result = (
(1, "sample", "x", "y", "z", 0, 0, 45, 0),
(25, "sample", "x", "y", "z", 200, 50, 0, 45),
(25, "other", "p", "q", "r", 100, 25, 0, 0),
(27, "sample", "x", "y", "z", 200, 50, 20, 45),
(28, "other", "p", "q", "r", 100, 25, 1, 0),
)

我不知道最好的方法是更改​​列表的这个元组,还是迭代每个元组,并将每个元素作为列表添加到新元素中。

0 个答案:

没有答案