У меня есть очень большой список списков с именем main_list
, содержащий около 13 миллионов списков, каждый из которых содержит 6 номеров.Я ищу способ отфильтровать любой список, который не содержит определенных значений.Например, чтобы создать новый список списков, который включает только списки со значениями 4 и 5, мой код работает следующим образом:
and_include = []
temp_list=[4,5]
for sett in main_list:
if set(temp_list).issubset(sett):
and_include.append(sett)
Это занимает около 5 секунд, что может быть довольно раздражающим для частыхиспользовать, поэтому мне было интересно, есть ли более быстрый способ сделать это, используя Numpy или Cython?
Я не очень знаком с Cython, но я пытался реализовать этот способ, скомпилировал его и все, но я получил ошибку.
def andinclude(list main_list,list temp_list):
and_include=[]
for sett in main_list:
if set(temp_list).issubset(sett):
and_include.append(sett)
return and_include
Надеюсь, есть более быстрый путь?