In Python 2 kann ich eine Liste an den Prozentsatz-Operator übergeben?

Ich habe eine Liste von Dingen, die ich mit einem Formatstring drucken möchte. In Python 3-style, mit "a string".format(arg,arg,arg) , das ist einfach. Ich kann nur mit Argumenten mit *mylist , wie ersetzen

 mylist = [1,2,3] "{} {} {}".format(*mylist) 

Ich kann nicht scheinen, diese Arbeit mit der älteren Prozent-Formatierung zu machen. Ich habe versucht, Zeug wie "%i %i %i" % mylist , %i %i %i" % (mylist) und %i %i %i" % (*mylist) aber ich habe immer immer Syntaxfehler oder "Nicht genug Argumente".

Ist das im 2.x-Stil unmöglich?

ETA: Ich ändere das obige Beispiel, ich habe eigentlich eine Liste gemeint, nicht Tupel . Ich lerne immer noch und ich bin nicht gewohnt, zwei verschiedene Array-ähnliche Konstrukte zu haben.

2 Solutions collect form web for “In Python 2 kann ich eine Liste an den Prozentsatz-Operator übergeben?”

str % tuple sollte nur funktionieren

 >>> mylist = (1, 2, 3) # <---- tuple >>> "%i %i %i" % mylist '1 2 3' 

BTW, (1, 2, 3) ist ein Tupel-Literal, kein List-Literal.

 >>> mylist = [1, 2, 3] # <----- list >>> "%i %i %i" % mylist Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: %d format: a number is required, not list 

Wenn du es zur Liste machen möchtest, kannst du die Liste in ein Tupel umwandeln.

 >>> "%i %i %i" % tuple(mylist) '1 2 3' 

Wenn Sie eine durch Leerzeichen getrennte Liste drucken möchten, ist hier eine flexiblere Lösung, die beliebig viele Elemente unterstützen kann

 >>> l = [5,4,3,2,1] >>> ' '.join(map(str,l)) '5 4 3 2 1' 

Das funktioniert auch für Tupel

 >>> l = (5,4,3,2,1) >>> ' '.join(map(str,l)) '5 4 3 2 1' 
  • String.format () mit optionalen Platzhaltern
  • Python: Schreiben von mehreren verschachtelten Wörterbüchern in einer Tabelle in einer Textdatei getrennt durch Tab
  • Die meisten pythonischen Weg zu drucken * am meisten * einige Anzahl von Dezimalstellen [doppelte]
  • Zeigen Sie eine Dezimalzahl in wissenschaftlicher Notation an
  • Wie kann man einen festen Breitenstring ausrichten?
  • Pandas dataframe string formatierung (Zugriff auf eine gegebene Spalte)
  • Python TypeError: Nicht-leeres Formatstring an Objekt übergeben .__ format__
  • TypeError: nicht genügend Argumente für Formatstring bei Verwendung von% s
  • Formatierung eines Nan Float in Python
  • Gib ein Tupel von Argumenten zurück, die an string.format ()
  • Wie benutzt man einen Punkt in Python-Format-Strings?
  • Python ist die beste Programmiersprache der Welt.