Сравните 2 списка, основанные на индексе из 2 других списков, и сохраните индекс в новом списке с пониманием списка - PullRequest
0 голосов
/ 26 января 2019

Итак, что я пытаюсь сделать:

1) Найти, где list1 [y] == list2 [x]

2) Определить, если list3 [y] <(0,4 list4[x]) </p>

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 голосов
/ 26 января 2019

Я не уверен, что это приведет к значительному увеличению производительности, но попробуйте следующее:

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