Выбор случайных значений из разных списков

Есть списки:

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 — из комментариев

→ Ссылка