2016-04-22 1 views
0

Ich habe diesen Code:Wie drucke ich einen bestimmten Index in einer For-Schleife?

for x in range(1,10): 
    print x[1],x[5] 

Offensichtlich ist es nicht so wollte ich weiß, funktioniert wie ein bestimmten Index in einem for-Schleife zu drucken, ohne dabei:

for x in range(1,10): 
    if x == 1: 
     print x 
    if x == 5: 
     print x 

Thank you!

Antwort

3

Verwendung aufzuzählen:

for i, v in enumerate(range(10)): 
    if i == 5: 
     print(i) 

Ich ziehe den obigen Ansatz, wie es lesbar ist, und gibt es, wie Sie verlangten.

Wenn Sie wirklich diese eine Zeile setzen möchten, können Sie so etwas tun, aber auch hier ist absolut nichts falsch mit der obigen Methode.

print(' '.join([str(i) for i, _ in enumerate(range(10)) if i in (1, 5)])) 
+0

sowieso, die nur eine Zeile wie 'print x [index] 'verwendet? – TCG

+0

Nein und vor allem nicht mit einem Druck glaube ich. Auch muss nicht immer alles auf einer Linie passen. Lesbarkeit ist sehr wichtig. – idjaw

+0

Ja, aber ich versuche, ein Gitter mit 1 bis 9 Zahlen mit einer For-Schleife darin zu machen und ein Ein-Zeilen-Code würde es viel schöner machen – TCG

3

nicht sicher, was Sie mit, dies zu tun wollen, aber hier ist eine Option

for idx,val in enumerate(range(1,10)): 
    if idx in {1, 5}: 
     print idx, val # print both the index and the value 
+0

danke, aber ich möchte, wenn es nur eine Zeile war wie 'Drucken x [Index]' – TCG

+0

Sie können eine Bedingung in einer einzeiligen 'print' Anweisung AFAIK nicht verwenden. Und 'x [index]' macht keinen Sinn, weil 'x' nicht indexierbar ist –

+0

es war nur ein Beispiel, danke trotzdem – TCG