Я пытаюсь найти составную строку, состоящую из этих кортежей, в List_2.Итак, если кортеж из List_1 равен ("foo", "bar"), а List_2 содержит ["flub", "blob", "barstool" , "foo & bar: злоключения в python"], я бы попытался получить "foo & bar: злоключения в python" из List_2.
В настоящее время я делаю это путем перебора List_1 и понимания для сканирования List_2. Несмотря на то, что поиск в List_2 выполняется быстро, его выполнение занимает около секунды, для этого потребуется перебрать весь List_1, и, следовательно, для его поиска требуется слишком много времени (большая часть 1000 часов). Complete, что заставило меня задуматься, существует ли более быстрый и эффективный способ сделать то же самое.
Пример кода:
Код: Выделить всё
list_1 = [] #Insert List
list_2 = [] #Insert List
for search_term in list_1:
compound_string = "{search_first} & {search_second}".format(search_first=search_term[0], search_second=search_term[1])
result = next((s for s in list_2 if compound_string in s), None) #Short-circuit, so we don't need to search through the whole list
if result:
#do exciting things
Подробнее здесь: https://stackoverflow.com/questions/787 ... arge-lists