python - 如何根据原始元组列表中的值创建新的元组列表?

标签 python python-3.x tuples

我的函数当前正在返回:

[('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/

相关文章:

python - 如何将 GET 请求从我的 flask 应用程序发送到另一个站点?

python - del 语句不适用于列表

c# - 获取由元组列表的第一个值组成的数组

python - 以元组形式传递多个参数

python - 来自循环的堆积条形图不添加不同的条形组件

python - 如何在 Python 中创建编程语言

Python 3 正则表达式单词边界不清楚

python - Python 3k 中保留了哪些功能工具?

python - Python 中的重试函数

python - 如何在 Python 中混合使用多个可选参数?