我的功能目前正在返回:
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'e', 'f'), ('h', 'b', 'c')]
但是,我需要最终输出为:
[('a', 'h'), ('d', 'g')]
如您所见,如果 i[1] 和 i[2] 匹配,我需要将 i[0] 配对在一起。
我正在尝试使用 for 循环,但此时我想不出如何编写它。
最佳答案
这似乎有效:
from itertools import combinations
l = [('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'e', 'f'), ('h', 'b', 'c')]
print([(a[0], b[0]) for a, b in combinations(l, 2) if a[1:] == b[1:]])
关于python - 如何根据原始元组列表中的值创建新的元组列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31861520/