Ánh xạ là một phần của lập trình hàm trong đó các phép tính được thực hiện bằng cách kết hợp các hàm lấy đối số và kết quả là trả về một [hoặc nhiều giá trị] cụ thể. Trong ví dụ này, chúng ta sẽ thấy hàm map[] trong Python và cách ánh xạ một danh sách các phần tử
Danh sách bản đồ Python
Để ánh xạ các phần tử danh sách trong Python, hãy sử dụng hàm map[]. Hàm map[] áp dụng một hàm cho từng thành phần danh sách, trả về một đối tượng bản đồ có thể lặp lại và gọi phương thức next[] để duyệt qua danh sách
Bản đồ Python [] là một phương thức tích hợp để áp dụng một hàm cho tất cả các thành phần của các đối tượng bản đồ có thể lặp lại và trả về chi tiết. Iterable bao gồm list, tuple, set và dictionary
Giá trị trả về từ hàm map[] là một đối tượng bản đồ và nếu chúng ta muốn tạo một danh sách từ nó, thì hãy sử dụng hàm list[];
data = [19, 21, 46, 29, 11] def square_of_numbers[num]: return num * num mappedList = map[square_of_numbers, data] print[next[mappedList]] print[next[mappedList]] print[next[mappedList]]
đầu ra
361 441 2116
Chúng ta có thể thấy rằng chúng ta đã định nghĩa một hàm gọi là square_of_numbers[], hàm này trả về bình phương của các số. Chúng ta chuyển hàm này cho hàm map[], hàm này trả về đối tượng bản đồ
Để truy cập từng phần tử của đối tượng bản đồ, hãy sử dụng phương thức next[]. Ví dụ: chúng ta có thể tạo danh sách đối tượng bản đồ bằng phương thức list[]
data = [19, 21, 46, 29, 11] def square_of_numbers[num]: return num * num mappedList = map[square_of_numbers, data] print[list[mappedList]]
đầu ra
[361, 441, 2116, 841, 121]
Danh sách bản đồ Python với hàm lambda
Để sử dụng hàm map[] và lambda với danh sách Python, hãy chuyển hàm lambda trong hàm map[] và nó sẽ trả về đối tượng bản đồ. Hàm ẩn danh hoặc hàm lambda trong Python là hàm được định nghĩa không có tên
data = [19, 21, 46, 29, 11] mappedList = map[lambda num: num * num, data] print[list[mappedList]]
đầu ra
[361, 441, 2116, 841, 121]
Chúng ta không cần định nghĩa hàm trong ví dụ này vì lambda sẽ thực hiện công việc
Liệt kê danh sách các chuỗi
Chúng ta có thể liệt kê danh sách các chuỗi bằng phương thức list[] và map[]
data = ['grogu', 'dinjarin', 'ahsokatano'] mappedList = list[map[list, data]] print[list[mappedList]]
đầu ra
[['g', 'r', 'o', 'g', 'u'], ['d', 'i', 'n', 'd', ' ', 'j', 'a', 'r', 'i', 'n'], ['a', 'h', 's', 'o', 'k', 'a', ' ', 't', 'a', 'n', 'o']]
Phần kết luận
Hàm map[] trong Python trả về đối tượng bản đồ mà bạn có thể chuyển đổi đối tượng đó thành danh sách, bộ dữ liệu, từ điển hoặc bộ. Ví dụ: bạn có thể sử dụng hàm lambda hoặc hàm thông thường trong hàm map[]
Hàm map[]
áp dụng một hàm đã cho cho từng phần tử của một lần lặp [danh sách, bộ, v.v. ] và trả về một iterator chứa kết quả
Ví dụ
________số 8_______map[] Cú pháp
Cú pháp của nó là
map[function, iterable, ...]
bản đồ [] Đối số
Hàm map[]
nhận hai đối số
Bạn có thể chuyển nhiều hơn một lần lặp cho hàm map[]
map[] Giá trị trả về
Hàm map[]
trả về một đối tượng của lớp bản đồ. Giá trị trả về có thể được chuyển đến các chức năng như
- list[] - để chuyển đổi thành danh sách
- set[] - để chuyển đổi thành một tập hợp, v.v.
ví dụ 1. Hoạt động của bản đồ []
def calculateSquare[n]:
return n*n
numbers = [1, 2, 3, 4]
result = map[calculateSquare, numbers]
print[result]
# converting map object to set
numbersSquare = set[result]
print[numbersSquare]
đầu ra
{16, 1, 4, 9}
Trong ví dụ trên, mỗi mục của bộ dữ liệu được bình phương
Vì map[]
mong đợi một chức năng được truyền vào, nên các hàm lambda thường được sử dụng khi làm việc với các hàm map[]
Hàm lambda là một hàm ngắn không có tên. Truy cập trang này để tìm hiểu thêm về Hàm lambda Python