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 个回答
1
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%的情况下,你需要完全停止你正在做的事情。
11
在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
是之前定义的变量名,而不是用引号括起来的字符串。如果你发现自己在用引号括起来的名字来指代变量,通常有更好的方法可以完成你想做的事情。