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 
  • Python konvertieren String-Objekt in Wörterbuch
  • Umwandlung von String in Tupel
  • Python: Analysieren von Input, um zu sehen, ob seine Integer, Float oder String
  • Analysieren eines Strings, der eine Liste von Tupeln darstellt
  • Unterdrückung / Druck ohne b 'Präfix für Bytes in Python 3
  • Wie baue ich eine Python-String aus einem rohen (binären) CTP-Puffer?
  • Überprüfen Sie, ob String mit einer der Zeichenfolgen aus einer Liste endet
  • Wie entnehme ich eine Liste von Elementen, die in Anführungszeichen eingehüllt sind, die von <> begrenzt und durch Kommas - Python, Regex begrenzt sind?
  • TypeError: nicht unterstützter Operanden Typ (s) für -: 'int' und 'str'
  • Anzahl der gleichen Zeichen in einer Reihe - Python
  • Wie spalte ich Strings in Text und Nummer?
  • Python ist die beste Programmiersprache der Welt.