3 Stimmen

Zufällige Listenauswahlen in Python

Gibt es eine Möglichkeit, eine Variable an die choice() Funktion für eine Liste. Ich habe eine Reihe von Listen und ich möchte zufällig aus einer Liste auswählen und dann die Zeichenfolge verwenden, die zurückgegeben wird, um aus einer Liste auszuwählen, die diesen Zeichenkettennamen hat.

A = ['1','2','3']

print choice (A) - this gets me a random choice from the list

aber ich möchte die Auswahl als Variable speichern und sie zum Aufrufen einer anderen Liste verwenden

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

Vielen Dank für die Hilfe!

11voto

Greg Hewgill Punkte 882617

In Python können Sie dies tun, indem Sie Referenzen .

A = [1, 2, 3]
B = [4, 5, 6]
C = [7, 8, 9]
MasterList = [A, B, C]

whichList = choice(MasterList)
print choice(whichList)

Beachten Sie, dass A, B, C sind Namen von zuvor zugewiesenen Variablen anstelle von Zeichenketten in Anführungszeichen. Wenn Sie sich jemals dabei ertappen, dass Sie Namen in Anführungszeichen verwenden, um auf Variablen zu verweisen, gibt es in der Regel einen besseren Weg, um das zu tun, was Sie tun wollen.

1voto

S.Lott Punkte 371691
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])

"Wenn Sie sich jemals dabei ertappen, dass Sie Variablen in Anführungszeichen setzen, gibt es in der Regel einen besseren Weg, das zu tun, was Sie tun wollen.

In 90 % der Fälle sollten Sie ein Wörterbuch benutzen. In den anderen 10 % der Zeit sollten Sie mit dem, was Sie gerade tun, ganz aufhören.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X