Rate this post

Map() trả về một đối tượng map (là một vòng lặp) của các kết quả sau khi áp dụng hàm đã cho cho từng index của một lần lặp nhất định (list, tuple, v.v.)

Các bài viết liên quan:

Cú pháp:

map(fun, iter)

Thông số :

  • fun : Đây là một function mà map duyệt từng phần tử của lần lặp đã cho.
  • iter : Nó là một iterable sẽ được ánh xạ.

LƯU Ý: Bạn có thể chuyển một hoặc nhiều lần lặp lại cho hàm map().

return:

  • Trả về danh sách kết quả sau khi áp dụng hàm đã cho cho từng item của một lần lặp nhất định

LƯU Ý: Sau đó, giá trị được trả về từ map() có thể được chuyển đến các hàm như list() (để tạo danh sách), set() (để tạo tập hợp) .

Ví dụ 1:

# định nghĩa hàm addition
def duplication(n):
	return n + n

# nhân đôi number sử dụng map()
numbers = (1, 2, 3, 4)
result = map(duplication, numbers)
print(list(result))

Ví dụ 2:

Chúng ta cũng có thể sử dụng các biểu thức lambda với map để đạt được kết quả trên.

# nhân đôi number sử dụng map() và lambda
numbers = (1, 2, 3, 4)
result = map(lambda x: x + x, numbers)
print(list(result))

Ví dụ 3:

# công 2 list sử dụng map và lambda
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result))

Ví dụ 4:

# danh sách chuỗi
l = ['list1', 'list2', 'list3', 'list4']
# map() có thể liệt kê danh sách các chuỗi riêng lẻ
test = list(map(list, l))
print(test)

Xem thêm Map trong javascript là gì ?

Tại sao sử dụng Map trong Python?

Sử dụng Map trong Python mang lại nhiều lợi ích và tiện ích trong việc xử lý dữ liệu và biến đổi các phần tử của một chuỗi, danh sách, hoặc bất kỳ đối tượng có thể lặp lại nào. Dưới đây là một số lý do phổ biến để sử dụng Map trong Python:

  1. Tính ngắn gọn và đồng nhất: Map cung cấp một cách gọn gàng để áp dụng một hàm cho từng phần tử của một chuỗi hoặc danh sách. Thay vì viết một vòng lặp để thực hiện cùng một thao tác cho từng phần tử, ta có thể sử dụng Map để giảm thiểu mã lệnh và tạo ra mã ngắn gọn, dễ đọc và dễ bảo trì.
  2. Tiết kiệm thời gian và công sức: Bằng cách sử dụng Map, chúng ta không cần phải viết và quản lý các vòng lặp riêng lẻ. Thay vào đó, chúng ta có thể áp dụng một hàm cho tất cả các phần tử cùng một lúc, giúp tiết kiệm thời gian và công sức trong quá trình lập trình.
  3. Xử lý dữ liệu nhanh chóng: Map được triển khai bên trong Python’s interpreter, điều này giúp nó hoạt động rất nhanh chóng. Khi áp dụng một hàm đơn giản cho một danh sách lớn, việc sử dụng Map có thể nhanh hơn so với việc sử dụng vòng lặp truyền thống.
  4. Sự linh hoạt: Map cho phép chúng ta áp dụng bất kỳ hàm nào lên từng phần tử của một chuỗi hoặc danh sách. Điều này cho phép chúng ta thực hiện các biến đổi phức tạp, tính toán, hoặc thao tác logic trên các phần tử.
  5. Code dễ đọc và bảo trì: Khi sử dụng Map, mã lệnh trở nên dễ đọc và bảo trì hơn. Việc sử dụng một phép toán duy nhất cho tất cả các phần tử giúp tăng tính nhất quán và giảm khả năng mắc phải lỗi trong quá trình lập trình.

Tóm lại, sử dụng Map trong Python giúp bạn viết mã ngắn gọn, hiệu quả và dễ đọc. Nó cung cấp một cách tiện lợi để thực hiện các biến đổi trên các phần tử của một chuỗi hoặc danh sách mà không cần phải viết vòng lặp riêng lẻ.

Cách sử dụng Map trong Python

Trong Python, bạn có thể sử dụng hàm map() để áp dụng một hàm lên từng phần tử của một chuỗi hoặc danh sách. Cú pháp chung của map() như sau:

map(function, iterable)

Trong đó:

  • function: Hàm mà bạn muốn áp dụng lên từng phần tử.
  • iterable: Chuỗi hoặc danh sách chứa các phần tử bạn muốn áp dụng hàm lên.

Kết quả của map() là một đối tượng map, có thể được chuyển đổi thành danh sách hoặc tuple để xem các kết quả đã được biến đổi.

Dưới đây là một ví dụ minh họa cách sử dụng map():

# Áp dụng hàm bình phương lên từng phần tử của một danh sách
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)
# Output: [1, 4, 9, 16, 25]

# Áp dụng hàm chuyển đổi chuỗi thành chữ hoa lên từng phần tử của một danh sách chuỗi
strings = ["python", "programming", "language"]
capitalized_strings = list(map(str.upper, strings))
print(capitalized_strings)
# Output: ['PYTHON', 'PROGRAMMING', 'LANGUAGE']

Trong ví dụ trên, chúng ta sử dụng map() để áp dụng hàm lambda lên từng phần tử của danh sách numbers để tính bình phương. Sau đó, chúng ta chuyển đổi đối tượng map thành danh sách để hiển thị kết quả.

Trong ví dụ thứ hai, chúng ta sử dụng map() để áp dụng hàm str.upper lên từng phần tử của danh sách strings để chuyển đổi chúng thành chữ hoa. Kết quả được chuyển đổi thành danh sách để hiển thị.

Lưu ý rằng map() trả về một đối tượng map, vì vậy bạn cần chuyển đổi nó thành danh sách hoặc tuple nếu bạn muốn xem kết quả.

Xem thêm map trong c++ là gì

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now