kết quả là danh sách lồng nhau, và trông như thế này:python bản đồ chức năng lặp
>>> results
[[1, 2, 3, 'a', 'b'], [1, 2, 3, 'c', 'd'], [4, 5, 6, 'a', 'b'], [4, 5, 6, 'c', 'd']]
pr là một chức năng, với định nghĩa như thế này:
>>> def pr(line):
... print line
lặp Bình thường về kết quả thực hiện cư xử như thế này :
>>> for result in results:
... pr(result)
...
[1, 2, 3, 'a', 'b']
[1, 2, 3, 'c', 'd']
[4, 5, 6, 'a', 'b']
[4, 5, 6, 'c', 'd']
Nhưng lặp lại ngầm định với bản đồ, dẫn đến hành vi này:
>>> map(pr, results)
[1, 2, 3, 'a', 'b']
[1, 2, 3, 'c', 'd']
[4, 5, 6, 'a', 'b']
[4, 5, 6, 'c', 'd']
[None, None, None, None]
Câu hỏi của tôi: Tại sao chức năng bản đồ lại tạo thêm lần lặp?
'bản đồ' đến từ các ngôn ngữ lập trình chức năng http://en.wikipedia.org/wiki/Map_%28higher-order_function%29 Nó không phải là nghĩa vụ phải được sử dụng như thế này – jamylak
@jamylak: pr là một chức năng demo cho điều này câu hỏi, tôi đã áp dụng một số chuyển đổi khác trong mã của tôi. –