【发布时间】:2019-01-22 13:29:30
【问题描述】:
我需要我的脚本来合并具有多个项目的元组。我有:
list = [('France', 'Euro', 'Paris'), ('France', 'Euro', 'Marseille'),
('Allemagne', 'Euro', 'Berlin'),
('Allemagne', 'Euro', 'Hambourg'), ('Allemagne', 'Euro', 'Munich'),
('France', 'Euro', 'Lyon'), ('Turquie', 'Livre', 'Ankara')]
我想要:
list = [('France', 'Euro', 'Paris', 'Marseille', 'Lyon'),
('Allemagne', 'Euro', 'Berlin', 'Hambourg', 'Munich'),
('Turquie', 'Livre', 'Ankara')]
我找到了:
for t in j:
d.setdefault(t[0], set()).add(t[1])
result = tuple(tuple([k]+list(v)) for k, v in d.items())
但我只能在每行有 2 个项目时合并项目。
我尝试过修改逻辑但没有成功。
【问题讨论】:
-
请解释要合并哪些元组,在什么基础上以及如何合并。你的例子不清楚。
-
是否总是元组中的前两项相同,而第三项发生变化?
-
请不要覆盖
list。 -
元组中的前两项始终相同
-
欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topic、how to ask 和 ... the perfect question 在此处申请。
标签: python python-3.x list merge concatenation