【发布时间】:2020-08-13 12:49:34
【问题描述】:
我想尽可能高效地对具有多个公共值的元组列表进行分组。我知道这样做的漫长方法,但想知道更快更“Pythonic”的方法会是什么。
我想要达到的目标:
lst = [('a', '1', 1),
('a', '1', 2),
('a', '2', 2),
('b', '1', 1),
('c', '1', 1)]
result = [
[('a', '1', 1), ('a', '1', 2)],
[('a', '2', 1)],
[('b', '1', 1)]
[('c', '1', 1)]
]
理想情况下,我想要得到的真实结果是:
result = [
[('a', '1', 1), ('a', '1', 2)],
]
如果没有匹配的对,那么它会排除它们,但我想我可以用 set() 做到这一点
【问题讨论】:
标签: python-3.x list tuples grouping