map(function, iterable, ...)
Áp dụng chức năng cho mọi mục của iterable và trả về danh sách kết quả. Nếu các đối số lặp bổ sung được thông qua, hàm phải lấy nhiều đối số đó và được áp dụng cho các mục từ tất cả các lần lặp song song.
Nếu một lần lặp ngắn hơn lần lặp khác, nó được coi là được mở rộng với Không có mục nào.
Nếu chức năng là None
, chức năng nhận dạng được giả định; nếu có nhiều đối số, map()
trả về một danh sách bao gồm các bộ chứa các mục tương ứng từ tất cả các lần lặp (một loại hoạt động chuyển vị).
Các đối số lặp có thể là một chuỗi hoặc bất kỳ đối tượng lặp lại nào; kết quả luôn luôn là một danh sách.
Điều này đóng vai trò gì trong việc tạo ra một sản phẩm của Cartesian?
content = map(tuple, array)
Có ảnh hưởng gì đến việc đặt một tuple ở bất cứ đâu trong đó không? Tôi cũng nhận thấy rằng không có chức năng bản đồ, đầu ra là abc
và với nó, nó a, b, c
.
Tôi muốn hiểu đầy đủ chức năng này. Các định nghĩa tham khảo cũng khó hiểu. Quá nhiều lông tơ ưa thích.
map(None, a, b, c)
hóa ra để làm zip(a, b, c)
. Nhưng bạn rất hiếm khi thấy điều đó trong thực tế, chính xác bởi vì zip
cuộc gọi là tương đương.
tuple
là một hàm (tốt, nhiều sắc thái hơn thế, nhưng nó hoạt động giống như một hàm) có thể lặp lại và cung cấp cho bạn một tuple với các phần tử tương tự - vì vậy tuple([1, 2, 3])
tương đương với (1, 2, 3)
. Đối với map(tuple, array)
, array
sẽ là một lần lặp của các lần lặp (nghĩ một danh sách các danh sách) và nó đưa bạn trở lại mỗi danh sách bên trong biến thành một tuple.
map
?