Случайный список в python - PullRequest
3 голосов
/ 29 января 2012

Есть ли способ передать переменную в функцию 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 ]

13 голосов
/ 29 января 2012

В 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 - это имена ранее назначенных переменных вместо строк в кавычках.Если вы когда-либо используете цитируемые имена для ссылки на переменные, обычно есть лучший способ сделать то, что вы пытаетесь сделать.

0 голосов
/ 29 января 2012
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])

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

...