Druckliste in Python richtig

Also habe ich eine Liste:

['x', 3, 'b']

Und ich möchte, dass die Ausgabe:

[x, 3, b]

Wie kann ich das in Python machen?

Wenn ich str(['x', 3, 'b']) mache, bekomme ich eins mit Zitaten, aber ich möchte keine Anführungszeichen.

7 Solutions collect form web for “Druckliste in Python richtig”

 mylist = ['x', 3, 'b'] print '[%s]' % ', '.join(map(str, mylist)) 

Wenn Sie Python3 verwenden:

 print('[',end='');print(*L, sep=', ', end='');print(']') 

Anstatt eine map , würde ich empfehlen, einen Generatorausdruck mit der Fähigkeit zu verwenden, einen Iterator zu akzeptieren:

 def get_nice_string(list_or_iterator): return "[" + ", ".join( str(x) for x in list_or_iterator) + "]" 

Hier ist join eine str der string class str . Es dauert ein Argument: eine Liste (oder Iterator) von Zeichenfolgen, dann gibt eine neue Zeichenfolge mit allen Elementen, die in diesem Fall verkettet sind , .

Sie können alle unerwünschten Zeichen aus einer Zeichenfolge mit ihrer translate() Methode mit None für das table löschen, gefolgt von einem String, der die Zeichen enthält, die Sie für das deletechars Argument entfernen deletechars .

 lst = ['x', 3, 'b'] print str(lst).translate(None, "'") # [x, 3, b] 

Wenn du eine Version von Python vor 2.6 benutzt, musst du stattdessen die translate() -Funktion des string Moduls verwenden, da die Möglichkeit, None als das table Argument zu übergeben, erst nach Python 2.6 hinzugefügt wurde. So sieht es so aus:

 import string print string.translate(str(lst), None, "'") 

Mit der Funktion string.translate() wird auch in 2.6+ gearbeitet, so dass es vorzuziehen ist.

Das ist einfacher Code, also wenn du neu bist, solltest du es leicht genug verstehen.

  mylist = ["x", 3, "b"] for items in mylist: print(items) 

Es druckt alle ohne Zitate, wie du wolltest.

Hier ist eine interaktive Sitzung mit einigen der Schritte in @ TokenMacGuy's Einzeiler. Zuerst nutzt er die map , um jedes Element in die Liste in einen String umzuwandeln (eigentlich macht er eine neue Liste, die keine Gegenstände in die alte Liste umwandelt). Dann benutzt er die String-Methode, um diese Strings mit ', ' zwischen ihnen zu kombinieren. Der Rest ist nur String-Formatierung, was ziemlich einfach ist. (Bearbeiten: Diese Instanz ist einfach, String-Formatierung im Allgemeinen kann etwas komplex sein.)

Beachten Sie, dass die Verwendung von join eine einfache und effiziente Möglichkeit ist, einen String aus mehreren Teilstrings aufzubauen, viel effizienter als es durch sukzessive Hinzufügen von Strings zu Strings, die viel Kopieren hinter den Kulissen beinhaltet.

 >>> mylist = ['x', 3, 'b'] >>> m = map(str, mylist) >>> m ['x', '3', 'b'] >>> j = ', '.join(m) >>> j 'x, 3, b' 

Nur Druck verwenden:

 >>> l = ['x', 3, 'b'] >>> print(*l, sep='\n') x 3 b >>> print(*l, sep=', ') x, 3, b 
  • Instanziere zwei 2D-Numpy-Arrays aus einer Liste von Strings
  • Wie man einen Unicode-String decodiert Python
  • 'In-Place' String-Modifikationen in Python
  • Warum ist str.strip () so viel schneller als str.strip ('')?
  • In Python, wie zähle ich die nachlaufenden Nullen in einem String oder Integer?
  • Pandas - Prüfen Sie, ob eine String-Spalte ein Paar Strings enthält
  • Suchmethode mit leerer Zeichenfolge
  • Python: String wird nicht zum Float konvertiert
  • Java String Multiplikation
  • Konvertieren von Zeichenoffsets in Byte-Offsets (in Python)
  • Geben Sie den Wert eines Strings als Variablennamen ein
  • Python ist die beste Programmiersprache der Welt.