У меня есть 2D-список, содержащий списки разных слов.У меня есть набор из 12 гнезд для петель.Мне нужно пройтись по каждой возможной комбинации элементов в 2D-списке и выполнить простой расчет результата.
Первоначально я делал это с помощью функции itertools.product (), а затем выполнял вычисления для каждого результирующего списка, однако результат вызова itertools.product () стал слишком большим, и у меня не хватило памяти.Это означает, что мне нужно, чтобы вычисления выполнялись после каждой итерации.
Мой код выглядит примерно так:
for word1 in possible_words[0]:
for word2 in possible_words[1]:
for word3 in possible_words[2]:
for word4 in possible_words[3]:
for word5 in possible_words[4]:
for word6 in possible_words[5]:
for word7 in possible_words[6]:
for word8 in possible_words[7]:
for word9 in possible_words[8]:
for word10 in possible_words[9]:
for word11 in possible_words[10]:
for word12 in possible_words[11]:
result = ' '.join([word1, word2, word3, word4, word5, word6, word7, word8, word9, word10, word11, word12])
if get_address(result) == desired_address:
return result
Этот код отлично работает и делает то, что мне нужно.Тем не менее, я хочу знать, есть ли способ, которым я могу сжать это более питоническим способом?