Случайный список в python

Есть ли способ передать переменную в choice() функция для списка. У меня есть несколько списков, и я хочу выбрать случайным образом из одного списка, а затем использовать строку, которая возвращается, чтобы выбрать из списка, который имеет это имя строки.

A = ['1','2','3']

print choice (A) - this gets me a random choice from the list

но я хочу сохранить выбор как переменную и использовать его для вызова другого списка

A = ['1','2','3']
1 = ['A','B','C']

Var1 = choice (A)

print choice (Var1) *** this is my problem, how do I pass a variable to the choice function

Спасибо за помощь!

2 ответа

Решение

В Python вы можете сделать это, используя ссылки.

A = [1, 2, 3]
B = [4, 5, 6]
C = [7, 8, 9]
MasterList = [A, B, C]

whichList = choice(MasterList)
print choice(whichList)

Обратите внимание, что A, B, C являются именами ранее назначенных переменных, а не строк в кавычках. Если вы когда-либо используете цитируемые имена для ссылки на переменные, обычно есть лучший способ сделать то, что вы пытаетесь сделать.

some_list = { 'A': ['1','2','3'],
    'B': [some_other_list],
    'C': [the_third_list]
}
var1= choice( ['A', 'B', 'C'] ) # better: some_list.keys()
print( choice (some_list[var1])

"Если вы когда-либо используете цитируемые имена для ссылки на переменные, обычно есть лучший способ сделать то, что вы пытаетесь сделать".

90% времени, вы должны использовать словарь. Остальные 10% времени вам нужно полностью прекратить то, что вы делаете.

Другие вопросы по тегам