複数のフィールドの文字列のリストからリストのリストを作成し、それを理解できるかどうか疑問に思っています。複数の変数?
入力:
inputs = ["1, foo, bar", "2, tom, jerry"]
所望の出力:
[[1, "foo", "bar"], [2, "tom", "jerry"]]
理解に文字列を分割が簡単です:
>>> [s.split(",") for s in inputs]
[['1', ' foo', ' bar'], ['2', ' tom', ' jerry']]
しかし、私がアクセスする方法、トラブルを考え出すを抱えています文字列の後の列は、内部に分割されています。なぜなら、variaが必要と思われるからです譲渡割当。以下は、有効なPythonではありませんが、私が探しているものを示しています
[[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]
出力は変数の関数で構成することができるように理解内部変数を割り当てることがある方法ですか?ループは簡単ですが、入力を変換してリストを生成することは、「理解力」のようです。
outputs = []
for s in inputs:
x,y,z = s.split(",")
outputs.append([int(x), y.strip(), z.strip()])
あなたはそれらのインデックスを持つ要素にアクセスすることができます。 lst [0] [0] 'は '1'、' lst 'は '' ' [0] [1] 'は' foo'などとなります。変数が必要な場合は、おそらくキー付きのマップとして格納する必要があります。 – shaktimaan
'[...入力のs(s.split( '、')のx、y、zの)]' – jonrsharpe