python - 比较列表中的多个列表
问题描述
我的 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
感谢您的任何帮助。
解决方案
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)
推荐阅读
- postgresql - 连接三个表并从 PostgreSQL 中的一个表中提取唯一值
- googletest - Googletest:成功断言时未打印消息
- python - 填充缺失值 Pandas
- django - Django 模型
- python - Pygame“继续前进”IF 语句
- asp.net-mvc - 为什么我在 Asp.net MVC 中发送 Post 请求时没有得到任何值?
- reactjs - 点亮元素 | 用@property 定义的属性不会触发渲染
- terraform - Terraform - 从提供者获取区域并在资源名称中使用它
- django - Django:计算并显示个人订单中的项目数量
- python - 大熊猫申请后在seaborn中设置传奇