#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. Да, вы должны иметь возможность просто вставить это без других изменений. Изменение с
[]
на()
переводит его из понимания списка в выражение генератора. Последний генерирует элементы только по мере их необходимости, а не все заранее.