根据其他2个列表的索引比较2个列表,并通过列表理解将索引保存在新列表中

时间:2019-01-25 21:31:57

标签: python list indexing comparison list-comprehension

所以我想做的是:

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)

1 个答案:

答案 0 :(得分:0)

我不确定这是否可以显着提高性能,但是请尝试以下操作:

list5 = [y for y, val1 in enumerate(list1) for x, val2 in enumerate(list2) if val1 == val2 and list3[y] < (0.4 * list4[x])]