print str(myList)
[1, 2, 3]
zu erhalten und Sie können tun
i = 0
for entry in myList:
print str(i) + ":", entry
i += 1
0: 1
1: 2
2: 3
zu bekommen, aber ist es eine Möglichkeit, ähnlich wie Der Erste um ein ähnliches Ergebnis zu erhalten?
Mit meiner begrenzten Kenntnis von Python (und etwas Hilfe von der Dokumentation), mein bestes ist:
print '\n'.join([str(n) + ": " + str(entry) for (n, entry) in zip(range(0,len(myList)), myList)])
Es ist nicht viel weniger ausführlich, aber zumindest ich eine benutzerdefinierte Zeichenfolge in einer (Verbindung) Anweisung erhalten . Können Sie es besser machen?
+1 dafür; Ich kenne Python ziemlich gut und das ist einfach schön, einfach und sauber –
Genauer gesagt: Wenn Sie die eckigen Klammern verlieren, wird es zu einem Generatorausdruck, sodass nicht die gesamte Liste im Speicher erstellt wird, bevor eine Zeichenfolge daraus erstellt wird. Und enumerate ist eine eingebaute Funktion, um das selbe wie die Zip/range/len Combo des Posters zu machen. –
+1 ich mag Format und Aufzählung verwenden;) – Ant