Выбор случайных значений из разных списков
Есть списки:
symbols_list = ['!', '@', '#', '$', '%', '^', '&', '?', '*', '(', ')', '{', '}', '~']
figures_list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
letters_list = ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O' итак далее.. ]
Мне необходимо как-то сделать, чтобы в переменную добавлялся один символ из случайного списка. Как можно сделать что-то такое, маленьким кодом:
password += random.choice(symbols_list, figures_list, letters_list)
Ответы (2 шт):
Автор решения: lubluborsh
→ Ссылка
import random
list_one = ['1', '2', '3']
list_two = ['a', 'b', 'c']
list_three = ['-', '/', '_']
common_list = [list_one, list_two, list_three]
password = ''
def append_symbol():
random_list = common_list[random.randrange(len(common_list))]
random_element = random_list[random.randrange(len(random_list))]
return random_element
for i in range(10):
password += append_symbol()
Либо
password += random.choice(random.choice(common_list))
Автор решения: vp_arth
→ Ссылка
Вариант раз:
random.choice(symbols_list + figures_list + letters_list)
Вариант два:
random.choice(random.choice([symbols_list, figures_list, letters_list]))
По теории вероятности эти два варианта дадут РАЗНЫЕ результаты, и какой результат нужен вам — вам виднее
@andreymal — из комментариев