Коды перестановок Python зависает / зависает весь компьютер

#python #python-3.x #permutation #freeze

#python #python-3.x #перестановка #замораживание

Вопрос:

Мой простой код для перестановки работает менее чем для 4-5 перестановок, но замораживает всю систему и делает все входные данные невосприимчивыми всякий раз, когда я повышаю значение…и я также попытался запустить его на телефоне Android (Sd 636), он завершает работу терминала .. Вот код:

 
import itertools 
 
with open('input.txt') as file: 
    # regardless words are separated by space or newline, parse it 
    all_words = [word for line in file for word in line.split()] 
    all_permutations = [' '.join(item) for i in range(1, len(all_words)   1) for item in itertools.permutations(all_words, i)] 
 
    with open('wordlist.txt', 'w ') as op: 
        # print(all_permutations) 
        for item in all_permutations: 
            op.write(f'{item}n')

  

Мой компьютер Intel Pentium 4 (без графического процессора) Kali Linux 2020? 1

Комментарии:

1. Создание all_permutations ленивого, вероятно, было бы огромной помощью: all_permutations = (' '.join(item) for i in range(1, len(all_words) 1) for item in itertools.permutations(all_words, i)) (обратите внимание на фигурные скобки снаружи).

2. Спасибо, но, сэр, я всего лишь новичок, могу ли я просто скопировать, вырезать, вставить его (это мой день 2)

3. Да, вы должны иметь возможность просто вставить это без других изменений. Изменение с [] на () переводит его из понимания списка в выражение генератора. Последний генерирует элементы только по мере их необходимости, а не все заранее.