Я хотел бы получить случайную перестановку букв слова, , если возможно , иначе само слово.
Как это можно сделать эффективно ?
Это то, что у меня сейчас есть
from itertools import permutations
import random
word = 'some_word'
permutations = [''.join(permutation) for permutation in permutations(word)]
random.shuffle(permutations)
scrambled_word = word
for permutation in permutations:
if permutation != word:
scrambled_word = permutation
break
По сути, я просто получаю первую перестановку всех перестановок слова. Я буду делать эту операцию для многих слов, и я считаю этот метод неэффективным. В общем, не нужно получать все перестановки данного слова.
Я имел в виду, что у меня может быть итерация случайных перестановок, из которой я могу просто извлечь первую перестановку. Как это можно сделать в Python? Функция permutations
из itertools
является итеративной, но элементы расположены не в случайном порядке. Мне нужна перестановка random , чтобы она не выглядела как оригинальное слово.