python中的随机列表选项

时间:2012-01-29 19:18:29

标签: python list variables random

有没有办法将变量传递给列表的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 个答案:

答案 0 :(得分:13)

在Python中,您可以使用 references 来完成此操作。

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是先前分配的变量的名称,而不是带引号的字符串。如果你发现自己使用带引号的名称来引用变量,通常会有更好的方法来做你想做的事情。

答案 1 :(得分:0)

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%的时间,你需要完全停止你正在做的事情。