2016-09-26 2 views
0

Ich möchte ein str + int kombinieren, um eine vorhandene Variable, die ich bereits definiert habe, gleichzusetzen. Ich habe versucht, die oben schaut, wie dies getan werden kann, und ich habe festgestellt, nur wie eine str verketten und int zusammen mitF: Wie verkette ich str + int mit = einer vorhandenen Variablen

print "var%d" % currentIndex 

, was ich habe, ist die Momentanindex Indexnummer der Auswahl in einem PyQt4 Kombinationsfeld zu sein. Ich habe die Indexnummer der Combo-Box-Auswahl auf eine große Datei mit var0 - var30 bezogen. Jede davon ist eine Liste von Informationen, die ich bei Bedarf abrufen möchte, wenn currentIndex geändert wird.

var0 = [ "a", "b", "c", "d" ] 
(user picks a selection from GUI comboBox) 
print "var%d" % currentIndex 
var0 

Es wird nicht die Liste gedruckt, es wird nur die var0 als Zeichenfolge gedruckt. Wie bekomme ich die beiden gleich var0 die Variable und nicht var0 die str?

+0

Sie versuchen, berechnen zu * * der Name die Variable, die Sie drucken möchten, und drucken Sie das dann? Wenn 'currentIndex' = 0 ist, möchten Sie den Inhalt von' var0' drucken? –

+0

können Sie die Funktion eval() verwenden https://docs.python.org/2/library/functions.html#eval – GpG

+0

Drucken eval ("var0") – GpG

Antwort

0

können Sie die Liste wie folgt drucken:

print eval("var%d" % currentIndex) 

Aber ich würde vorschlagen, dass Sie eine verschachtelte Liste zu verwenden, anstatt 30 Variablen:

var = [["a", "b", "c", "d"], ["e", "f"], ...] 
print var[currentIndex] 
+0

Das ist perfekt !! Ich werde mit der zweiten Option gehen, dann scheint es viel sauberer und weniger Linien. Wie würde ich ein bestimmtes Element aus einer verschachtelten Liste ziehen? Die Art, wie ich das mit einer normalen Liste gemacht habe, war mit L = ['a', 'b', 'c', 'd', 'e', ​​'f'] drucken [L [Index] für Index in [1,3,5]] –

+0

Fügen Sie einfach einen weiteren Index wie 'var [i] [j]' hinzu. Z.B. 'var [1] [0]' würde zu "e" 'für das obige Beispiel führen. – Philipp

+0

Danke Dach !! –

Verwandte Themen