2017-10-04 2 views
0

Ich versuche, bis zu c9 eine Liste von Variablen wie dieserWie kann ich eine Variable nach dem zweiten Zeichen für ihren Namen aufrufen?

c1 = 0 
c2 = 0 

der ganzen Weg zu machen. Wie kann ich die Variable basierend auf der Zahl neben dem c aufrufen?

Also sagen wir zum Beispiel, ich möchte verallgemeinern, dass wenn eine Variable gleich 0 ist eine andere Variable mit der gleichen Zahl neben definiert ist.

if c[n] = 0 
    p[n] = 'X' 

PS. Sorry für Formatierungsfehler, dies ist mein erster Beitrag.

+7

Verwenden Sie eine ['liste'] (https://developers.google.com/edu/python/lists) –

+0

Hinweis: Ihr Zustand sollte zwei' = 'Zeichen haben, nicht eins, und Sie verpassen den Doppelpunkt am Ende der Zeile: 'if c [n] == 0:' –

+0

Wenn 'c1' bis' c9' in einer Bibliothek ist, die Sie nicht ändern können (sehr zweifelhaft), können Sie 'eval (' c '+ str (n)) '. – alvits

Antwort

3

Wie in den Kommentaren vorgeschlagen, Sie suchen auf jeden Fall für Listen:

c = [] 
c.append(0) # access this using c[0] 
c.append(0) # access this using c[1] 
... 

# Alternatively fill the list from start 
c = [0, 2, 1, 3, 0, 3, 1] 

... 

if c[n] == 0: 
    p[n] = "X" 
0

dies technisch möglich ist, aber ich würde es nicht empfehlen.

können Sie getattr(object_or_module_variables_are_in, 'a' + str(number))

jedoch verwenden, mit getattr in der Regel ein Zeichen dafür ist, dass Sie etwas falsch machen.

Verwandte Themen