2012-12-15 8 views
8

ich Python bin neu und habe ein einfaches Array:Python-Druckarray mit neuer Linie

op = ['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye'] 

Wenn ich pprint verwenden, erhalte ich diese Ausgabe:

['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye'] 

Gibt es trotzdem kann ich Entferne die Anführungszeichen, Kommas und Klammern und drucke auf einer separaten Zeile. So dass der Ausgang ist wie folgt:

Hello 
Good Morning 
Good Evening 
Good Night 
Bye 

Antwort

5

Druck Zeile für Zeile

for word in op: 
    print word 

, dass dies den Vorteil hat, wenn op massiv lang sein geschieht, dann müssen Sie keine neue erstellen temporäre Zeichenkette rein für Druckzwecke.

19

Sie könnten die Saiten mit einem Newline, join und den resultierenden String drucken:

print "\n".join(op) 
8

Sie scheinen verwirrt zu werden. Lassen Sie mich Ihnen helfen, einige Dinge im Kopf zu klären =)

  1. Zunächst einmal, was Sie haben dort eine list ist, kein Array. Der Unterschied besteht darin, dass die Liste eine viel dynamischere und flexiblere Datenstruktur aufweist (in der Liste in dynamischen Sprachen wie Python). Zum Beispiel können Sie mehrere Objekte verschiedenen Typen (z haben 2 string s, 3 int s, ein socket, usw.) haben
  2. die Anführungszeichen um die Worte in der Liste anzuzeigen, dass sie Objekte vom Typ sind string.
  3. Wenn Sie eine print op (oder print(op) für diese Angelegenheit in Python 3+) tun, fragen Sie im Wesentlichen Python, Ihnen eine druckbare Darstellung dieses bestimmten Listenobjekts und seines Inhalts zu zeigen. Daher die Anführungszeichen, Kommas, Klammern usw.
  4. In Python haben Sie eine sehr einfache for each-Schleife, verwendbar, um durch den Inhalt von iterierbaren Objekten, wie zum Beispiel list zu iterieren. Genau dies tun:

for greeting in op: print greeting