Случайный список в 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% времени вам нужно полностью прекратить то, что вы делаете.