2024-05-14 21:33:59 发布
网友
我有一份格式的清单
unique_edges=[('SLT2', 'SDP1'),('GCD7', 'ATG34'),('MTH1', 'MTH1'),('ADY2', 'ADY2')]
我需要使用列表理解(一行代码)将具有相同元素的元组移动两次(如('MTH1','MTH1'))到新列表
我想我需要使用类似的东西
homo_dimers = list(map(tuple,unique_edges))
但我不知道如何使用这些函数来搜索一个元组中的重复元素
您可以在列表理解中使用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')]
您可以在列表理解中使用if语句:
列出查找具有相同元素的元组的理解:
印刷品:
或者,如果元组包含2个以上的元素:
homo_dimers = [i for i in unique_edges if i[0]==i[1]]
输出
[('MTH1','MTH1'),('ADY2','ADY2')]
相关问题 更多 >
编程相关推荐