python在多个循环中迭代多个列表

标签 python list loops

我需要遍历多个列表,并对匹配的记录做一些计算:

for (a,b,c,d) in list1:
   for (a2,b2,e) in list2:
       if (a==a2) and (b==b2):
           mylist.add(a,b,c,d,e,d*e)

是否有一种有效的方法来进行上述计算。多谢。

最佳答案

建立一些字典来快速查找:

data1 = {(a, b): (c, d) for a, b, c, d in list1}
data2 = {(a, b): e for a, b, e in list2}

result = []
for a, b in set(data1) & set(data2):
    c, d = data1[a, b]
    e = data2[a, b]
    result.append((a, b, c, d, e, e*d))

关于python在多个循环中迭代多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766406/

相关文章:

python - 比较两个多维列表的一些问题

javascript - Angularjs (ionic) 列表滑动按钮

javascript - Protractor :一旦找到元素就停止 while 循环

python - 从带有某些单词、标签组合的后置标签语料库中提取句子

python - 如何在 Travis-CI 上缓存 Django 项目的需求?

python - 如何使用Python的Request包访问API Get的特定元素?

python - 从新脚本访问 Django 模型

python - 用 Python 编写书籍类

关于循环的 Java 帮助

传递给过程的列表转换为过程内列表的列表