我想從多字段字符串列表中創建一個列表列表,並想知道在理解中是否可以這樣做。列表理解中的多個變量?
輸入:
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']]
,但我有麻煩找出如何訪問字符串之後的列已經被分解到理解中,因爲它似乎需要變量可分配。以下是無效的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()])
你可以訪問他們的索引的元素。對於'[['1','foo','bar'],['2','tom','jerry']]','lst [0] [0]'是'1','lst [0] [1]'是'foo'等等。如果你需要變量,你可能需要將它們存儲爲帶有鍵的映射。 – shaktimaan
'[... for x,y,z in(s.split(',')for s in inputs)]' – jonrsharpe