如何在python中找到元素重复的元组?

2024-05-14 21:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份格式的清单

unique_edges=[('SLT2', 'SDP1'),('GCD7', 'ATG34'),('MTH1', 'MTH1'),('ADY2', 'ADY2')]

我需要使用列表理解(一行代码)将具有相同元素的元组移动两次(如('MTH1','MTH1'))到新列表

我想我需要使用类似的东西

homo_dimers = list(map(tuple,unique_edges))

但我不知道如何使用这些函数来搜索一个元组中的重复元素


Tags: 代码元素列表格式元组uniqueedgeshomo
3条回答

您可以在列表理解中使用if语句:

unique_edges = [('SLT2', 'SDP1'), ('GCD7', 'ATG34'), ('MTH1', 'MTH1'),
                ('ADY2', 'ADY2')]

print([i for i in unique_edges if i[0] == i[1]])

列出查找具有相同元素的元组的理解:

homo_dimers = [(a, b) for a, b in unique_edges if a == b]
print(homo_dimers)

印刷品:

[('MTH1', 'MTH1'), ('ADY2', 'ADY2')]

或者,如果元组包含2个以上的元素:

homo_dimers = [t for t in unique_edges if len(set(t)) == 1]

homo_dimers = [i for i in unique_edges if i[0]==i[1]]

输出

[('MTH1','MTH1'),('ADY2','ADY2')]

相关问题 更多 >

    热门问题