【问题标题】:Random List choices in pythonpython中的随机列表选择
【发布时间】:2012-02-21 18:44:05
【问题描述】:

有没有办法将变量传递给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

感谢您的帮助!

【问题讨论】:

  • 1 = ['A','B','C']?!神圣的****!
  • ...它以“d”开头...并以“t”结尾。它有四个字母长。使用dict

标签: python list variables random


【解决方案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% 的时间,您需要完全停止正在做的事情。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • “如果您发现自己使用带引号的名称来引用变量,通常有更好的方法来做您想做的任何事情。” +10
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2019-01-21
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多