我的Python作业需要一些帮助。 目前,我创建了4个列表。我将那些列表中的项目分开以从每个项目创建一个列表。看起来像这样(一个列表中有5000个项目):
[['n', 'AattGNtA', '0.5196'], ['t', 'gnGCTTcC', '0.7973'], ['P', 'GGTcANTN', '0.5197'], etc. ... ]
我的目标是尝试编写一个循环,该循环将比较所有四个列表之间每个项目的第二个条目(例如AattGNtA)(所有四个列表中的第一个条目的第二个条目,所有列表中的第二个条目的第二个条目等等)上)。如果满足此条件,则程序还应检查每个项目中的第三项是否大于0.2。如果序列相同且第三个条目大于0.2,则程序应将此计数加1。 最后,结果应为所有列表中相同的项目总数(因此最多为5000)。 我试图编写几个while循环来执行此操作,但是我很难比较像这样的多个复杂列表。 这是我的最后一次尝试,因为以前的所有尝试均导致错误(到目前为止,我仅尝试比较第二个条目):
all_duplicates = 0
while(True):
for item[1] in zip(item_list1,item_list2,item_list3,item_list4):
if item[1]= item[1]
all_duplicates = all_duplicates + 1
else: pass
谢谢您的帮助。
答案 0 :(得分:0)
data = [['n', 'AattGNtA', '0.5196'], ['t', 'gnGCTTcC', '0.7973'], ['P', 'GGTcANTN', '0.5197']]
columns = list(zip(*data))
duplicates = 0
for index, item in enumerate(columns[1]):
if columns[1].count(item) > 1 and float(columns[2][index]) > 0.2:
duplicates += 1
print(duplicates)