Питон |26 списков, называемых az, строка с каждой буквой, выбирается случайная буква, как выбрать список - PullRequest
0 голосов
/ 26 августа 2018

У меня есть 26 списков с именами a, b, c, .., z и строка с именами букв.

letters = "abcdefghijklmnopqrstuvwxyz"

Теперь я случайным образом выбираю букву из этой строки.

start_letter = random.choice(letters)

Значение start_letter теперь должно быть одной буквой, что является списком в моем скрипте.Теперь, как мне выбрать этот список и случайно выбрать «слот» в этом списке?

1 Ответ

0 голосов
/ 26 августа 2018

Вы должны создать словарь, в котором есть ключи, которые являются буквами алфавита, и значения, которые являются списками.letters_dict = {'a': [1,2,3], 'b': [4,5,6], ...}

, а затем вы можете получить случайный список с помощью:

letters_dict[random.choice(letters)]

Обратите внимание, что, хотя это ужасная практика, вы можете получить словарь текущих локальных переменных (с записями вида имя-переменной: переменная-значение) с помощью функции locals(), а затем выбрать случайную букву, как в: locals()[random.choice(letters)], но словарь определенно правильный путь.


Что касается выбора случайного «слота» в этом списке, у вас есть два варианта, либо случайным образомсгенерируйте индекс:

lst[random.randint(0,len(lst)]

или случайным образом выберите элемент, как вы сделали письмо:

random.choice(lst)

Преимущество первого метода заключается в том, что вы можете использовать этот индекс позже, если это необходимо,но второй более читабелен, если индекс не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...