Спецификация звонка c перестановка с использованием числового индекса - PullRequest
0 голосов
/ 09 апреля 2020

Я использую функцию itertools.permutations, чтобы создать список всех комбинаций символов в списке, а затем объединить результаты, как показано ниже:

from itertools import permutations

def iterate(it):
    for x in it:
        print("".join(list(x)))

k_c = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM. "

iterate(permutations(list(k_c),10))

Это то, что она производит:

>>>1234567890
   123456789q
   123456789w
   123456789e
   123456789r
   123456789t
   123456789y
   123456789u
   123456789i
   123456789o
   ...

У меня проблема в следующем; Мне нужно создать строки длиной в 100 символов, такие как: 1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDJ1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDJ, и программа остановится, так как это займет слишком много времени. T 1009 * Мне было интересно, возможно ли, чтобы программа просто возвратила указать строку c, например:

permutation_string(k_c,100,87)
>>> 1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDJ1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDJ

И он вернет 87-е значение в списке. Я понимаю, что это кажется странным вопросом, но любая помощь будет принята с благодарностью. Спасибо

1 Ответ

0 голосов
/ 02 мая 2020

Если вы ищете i-ю перестановку данной строки / списка, тогда этот ответ будет работать: { ссылка }

...