mehrere Variablen in der Liste Verständnis?

Ich möchte eine Liste erstellen von Listen aus einer Liste von multi-Feld-strings und Frage mich, ob es möglich ist in ein Verständnis.

Eingang:

inputs = ["1, foo, bar", "2, tom, jerry"]

Gewünschte Ausgabe:

[[1, "foo", "bar"], [2, "tom", "jerry"]]

Aufteilung der Zeichenkette in ein verstehen ist einfach:

>>> [s.split(",") for s in inputs]
[['1', ' foo', ' bar'], ['2', ' tom', ' jerry']]

Aber ich habe Schwierigkeiten, herauszufinden, wie der Zugriff auf Spalten nachdem der string aufgeteilt wurde innen das Verständnis, denn es wäre zu erfordern scheinen, dass eine variable Zuordnung. Die folgenden sind nicht gültig Python, aber veranschaulichen, was ich Suche:

[[int(x), y.strip(), z.strip() for x,y,z = s.split(",")] for s in inputs]
    or
[[int(v[0]), v[1].strip(), v[2].strip() for v = s.split(",")] for s in inputs]

Gibt es eine Möglichkeit zum zuweisen von Variablen innerhalb eines Verständnisses, so dass die Ausgabe besteht aus Funktionen, Variablen? Eine Schleife ist trivial, aber die Erstellung einer Liste durch die Umwandlung Eingänge scheint sicher, dass ein "Verständnis-ish" Aufgabe.

outputs = []
for s in inputs:
    x,y,z = s.split(",")
    outputs.append([int(x), y.strip(), z.strip()])
Können Sie Zugriff auf die Elemente mit einem index. Für [['1', ' foo', ' bar'], ['2', ' tom', ' jerry']], lst[0][0] wäre 1, lst[0][1] wäre foo und so weiter. Wenn Sie Variablen, die Sie wahrscheinlich benötigen, um Sie zu speichern als maps mit der Tastatur.
[ ... for x, y, z in (s.split(', ') for s in inputs)]

InformationsquelleAutor Dave | 2016-10-31

Schreibe einen Kommentar