Zunächst einmal: Ich weiß, es ist nur ein Beispiel, aber verwenden Sie list
nicht als eine Variable in Python. Es ist eine Schlüsselwort/eingebaute Funktion.
Zweitens: Sie können Iteration verwenden, um dies zu erreichen. Sie können durch die Mitglieder eines list
(oder einem iterable Objekt oder jede Iterator) wie folgt durchlaufen:
for item in L:
# do something with item
Sie den Überblick über die Anzahl der Male halten können Sie die Schleife eingegeben haben mit der enumerate
Funktion. Die enumerate
Funktion gibt eine zwei-Tupel in Form von member_index_number, member
:
for num,item in enumerate(L):
# do something with num and item
Fast there- jetzt Sie brauchen eine Möglichkeit, die obige Iteration mit Ihrem list
von Funktionen zu verknüpfen. Normalerweise geschieht dies in Python mit einem Wörterbuch, aber Sie können auch eine Liste verwenden.
# list way
funcs_list = [f1, f2, f3]
for num,item in enumerate(L):
if 1 in item:
funcs_list[funcs_list.index(num)]()
break
# dictionary way
funcs_dict = {0: f1, 1: f2, 2: f3}
for num,item in enumerate(L):
if 1 in item:
funcs_dict[num]()
break
Die Dictionary-Methode wird normalerweise bevorzugt, weil es viel sauberer aussieht.
Welches Problem versuchen Sie mit diesem Code zu lösen? Das scheint ein [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –