所以我想做的是:
1) 查找 list1[y] == list2[x]
2) 判断是否list3[y] < (0.4 list4[x])
3) 如果是,则将索引 y 存储在新的索引列表中
这个循环有效,但是使用我的数据集运行几乎需要整整一分钟。我想知道我是否可以通过列表理解来做到这一点。
预先感谢任何人的帮助。
for y in range(len(list1)):
for x in range(len(list2)):
if list1[y] == list2[x]:
if list3[y] < (0.4 * list4[x]):
list5.append(y)
最佳答案
我不确定这是否会显着提高性能,但请尝试以下操作:
list5 = [y for y, val1 in enumerate(list1) for x, val2 in enumerate(list2) if val1 == val2 and list3[y] < (0.4 * list4[x])]
关于python - 根据另外 2 个列表的索引比较 2 个列表,并使用列表理解将索引保存在新列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54373063/