map(tuple, map(lambda row: [float(row[0]), int(row[1]), parse(row[2])], res))
python中的這句話是什麼
有人可以幫我一下這裏的語法嗎?我試圖明白tuple
和lambda
是指什麼。
map(tuple, map(lambda row: [float(row[0]), int(row[1]), parse(row[2])], res))
python中的這句話是什麼
有人可以幫我一下這裏的語法嗎?我試圖明白tuple
和lambda
是指什麼。
如果它更容易跟隨你可以這樣改寫了幾次,從
map(tuple, map(lambda row:
[float(row[0]), int(row[1]), parse(row[2])], res))
到
map(lambda row: (float(row[0]), int(row[1]), parse(row[2])), res)
到
[(float(row[0]), int(row[1]), parse(row[2])) for row in res]
這並沒有真正回答你的問題,但我認爲它更容易閱讀;)
tuple()
是「元組」對象的構造函數,它可以將列表(或其他序列對象)轉換爲元組。
例如:
>>> a = [1, 2, 3]
>>> a
[1, 2, 3]
>>> tuple(a)
(1, 2, 3)
當在實施例中使用,將其轉換從一個列表中的元組的每個lambda
表達的結果。這似乎有點多餘,因爲下面應該是等價的:
map(lambda row: (float(row[0], int(row[1], parse(row[2])), res)
注意使用()
括號而非[]
方括號它創建了一個元組,而不是一個列表。
爲什麼有人想要這樣做 – locoboy
元組是不可變的對象(創建後不能修改),因此可以用作字典鍵。 – eumiro