Python中的随机列表选择

3 投票
2 回答
2799 浏览
提问于 2025-04-17 11:54

有没有办法把一个变量传递给 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是之前定义的变量名,而不是用引号括起来的字符串。如果你发现自己在用引号括起来的名字来指代变量,通常有更好的方法可以完成你想做的事情。

撰写回答