2012-01-29 6 views
3

リストの変数choice()に変数を渡す方法はありますか?私はリストの束を持っていますし、ランダムに1つのリストから選択し、その文字列名を持つリストから選択するために返される文字列を使用したいと思います。Pythonのランダムリストの選択

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 = ['A'、 'B'、 'C​​']' ?!聖なる****! – 0605002

+0

... 'd'で始まり、 't'で終わります。それは4文字長いです。 [dict](http://docs.python.org/tutorial/datastructures.html#dictionaries)を使用します。 –

答えて

13

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は、引用符付きの文字列ではなく、以前に割り当てられた変数の名前です。変数を参照するために引用符で囲まれた名前を使用していることが分かった場合は、通常、実行しようとしていることを実行するためのより良い方法があります。

+6

"変数を引用するために引用符で囲まれた名前を使用していることが分かった場合は、通常、実行しようとしていることを実行するためのより良い方法があります。 +10 – DSM

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%は、あなたがやっていることを完全にやめなければなりません。