Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info

Map trong Python được dùng rất nhiều trong lập trình. Vậy bạn đã biết hàm map trong Python được dùng làm gì chưa? Hãy cùng Quantrimang.com tìm hiểu nhé!
Python là một ngôn ngữ lập trình mạnh mẽ và linh hoạt, cung cấp các hàm tích hợp khác nhau để triển khai nhiều hoạt động xử lý dữ liệu. Một trong số những hàm như thế là hàm map(), được dùng để áp dụng một tính năng cho mỗi thành phần trong một lần lặp (như list hoặc tuple) và trả về một lần lặp mới với cùng kết quả.
map() nhận hai đối số: một hàm và một lặp lại (iterable). Hàm sẽ được áp dụng cho mỗi thành phần của iterable, còn class lặp lại là biến lặp mà hàm đó sẽ áp dụng. Cú pháp của hàm map() rất dễ nhớ.
map(function, iterable, ...)
function: Hàm thực thi cho từng phần tử trong iterable.iterable: một list, tuple, dictionary... muốn duyệt.Bạn có thể truyền nhiều iterablecho hàm map().
Hàm map() duyệt tất cả các phần tử của iterable qua function và trả về một list kết quả sau khi thực thi.
Giá trị trả về từ map() được gọi là map object. Đối tượng này có thể được truyền vào các hàm list() (để tạo list trong Python), hay set() (để tạo một set các phần tử mới)...
def binhphuong(n): return n*n # viet boi Quantrimang.com number = (25, 100, 225, 400) ketqua = map(binhphuong, number) # chuyen map object thanh list print(list(ketqua))
Khi bạn chạy chương trình, output trả về sẽ là:
[625, 10000, 50625, 160000]
Ở ví dụ trên, mỗi phần tử trong tuple ban đầu đều được bình phương lên.
Vì map() luôn cần tham số để truyền vào, vậy nên các hàm lambda thường xuyên được sử dụng với map().
Trong Python, hàm lambda hay hàm vô danh được định nghĩa mà không có tên. Nếu các hàm bình thường được định nghĩa bằng cách sử dụng từ khóa def, thì hàm vô danh được định nghĩa bằng cách sử dụng từ khóa lambda.
# viet boi Quantrimang.com number = (5, 10, 15, 20) result = map(lambda x: x*x, number) # chuyen map object thanh list sobinhphuong = list(result) print(sobinhphuong)
Chạy chương trình, kết quả trả về là:
[25, 100, 225, 400]
Kết quả không khác gì ví dụ 1.
Trong ví dụ này, các phần tử tương ứng của hai danh sách được thêm vào.
num1 = [4, 5, 6] num2 = [5, 6, 7] result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Kết quả trả về là:
[9, 11, 13]
Ví dụ dùng map() chuyển đổi nhiệt độ từ độ C sang độ F
Code:
# Mẫu chương trình Python cho hàm map() temperatures = [0, 10, 20, 30, 40] # Hàm lambda xác định công thức chuyển đổi fahrenheit_temperatures = list(map( lambda x : (9/5)*x + 32, temperatures )) # in danh sách nhiệt độ F print(fahrenheit_temperatures)
Kết quả:
[32.0, 50.0, 68.0, 86.0, 104.0]
num = [3, 5, 7, 11, 13]
mul = []
for n in num:
mul.append(n ** 2)
print (mul)
Kết quả trả về là:

Trong đoạn code này, bạn phải sử dụng hàm Python len() cùng với map() để tìm độ dài của một số từ.
example = ["Welcome", "to", "Simplilearn"] x = list(map(len, example)) print(x)
Kết quả trả về là:

Trong chương trình bên dưới, trước tiên bạn sẽ nhập thư việnmath để sử dụng hàm math.sqrt() với map trong Python.
import math num = [9, 36, 49, 81, 121] x = list(map(math.sqrt, num)) print(x)
Kết quả trả về là:

Ở ví dụ này, hàm double_even nhân đôi số chẵn và giữ nguyên số lẻ. Hàm map() được dùng để áp dụng hàm này cho từng nhân tố trong danh sách đánh số. Một lệnh if được dùng trong hàm này để triển khai các logic điều kiện cần thiết.
Phân tích độ phức tạp của thời gian:
Hàm map() này dùng double_even cho từng nhân tố trong danh sách. Độ phức tạp về thời gian của hàm map là 0(n), trong đó n là số của các nhân tố trong danh sách. Độ phức tạp về thời gian của hàm nhân đối số chẵn là hằng số, 0(1), vì nó chỉ thực hiện phép toán số học và phép so sánh. Do đó, tổng thời gian phức tạp của chương trình là O(n).
Ví dụ:
# Định nghĩa hàm nhân đôi số chẵn và để nguyên số lẻ def double_even(num): if num % 2 == 0: return num * 2 else: return num # Tạo danh sách số để dùng hàm numbers = [1, 2, 3, 4, 5] # Dùng map để áp dụng hàm cho từng nguyên tố trong danh sách result = list(map(double_even, numbers)) # In kết quả print(result) # [1, 4, 3, 8, 5]
Kết quả:
[1, 4, 3, 8, 5]
Ở một số trường hợp, bạn cần xử lý một đầu vào có thể lặp và trả về giá trị lặp lại khác bằng cách lọc những giá trị không cần thiết trong một đầu vào có thể lặp. Filter() của Python là lựa chọn tốt trong tình huống này.
Filter() trả về một mục đầu vào có thể lặp cho hàm trả kết quả là đúng. Nếu không có hàm nào được thông qua, filter() dùng hàm định danh. Nó cho biết filter() giám sát từng mục có thể lặp cho giá trị đúng của nó và lọc các mục lỗi.
Ví dụ:
Nếu muốn tính căn bậc hai của tất cả giá trị trong danh sách và nếu danh sách có giá trị âm, bạn sẽ nhận được thông báo lỗi vì căn bậc hai không xác định cho số âm. Để tránh vấn đề này, filter() được dùng để lọc toàn bộ giá trị âm, sau đó tìm căn bậc hai của giá trị dương còn lại.
import math def is_positive(num): return num >= 0 def filtered_sqrt(numbers): filtered_iter = map(math.sqrt, filter(is_positive, numbers)) return list(filtered_iter) filtered_sqrt([100, 9, 225, -36, 0])
Trong bài viết này, bạn đã tìm hiểu về hàm map() trong Python. Bạn đã xem một số ví dụ để hiểu hàm này hoạt động như thế nào với nhiều hàm và iterable khác nhau. Một số điểm chính cần nhớ là hàm map() trong Python được sử dụng để áp dụng một hàm chuyển đổi cho toàn bộ iterable. Ngoài ra, bạn có thể chuyển nhiều iterable vào một hàm map(). Nếu muốn tìm hiểu thêm về iterable, map hoặc các khái niệm lập trình Python cơ bản khác, bạn có thể chọn tham gia Khóa học cấp chứng chỉ Python trực tuyến của Simplilearn.
Mặt khác, nếu bạn quan tâm đến việc học ngành Khoa học dữ liệu, bạn có thể chọn tham gia Khóa học cấp chứng chỉ về Khoa học dữ liệu với Python. Cả hai khóa học đều cung cấp kinh nghiệm thực hành về ứng dụng để giúp bạn vượt trội trong các lĩnh vực liên quan.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Top 10 công cụ AI viết content tốt nhất năm 2026
Hướng dẫn fix lỗi “It’s Not You, It’s Me” trên Copilot
Cách cấu hình Claude Code Hooks giúp tự động định dạng và kiểm thử code
Cách tự động hóa email hoàn toàn với Grok Bot
TOP công cụ AI chỉnh sửa file PDF tốt nhất
7 công cụ AI mã nguồn mở có thể thay thế các gói đăng ký trả phí
Hướng dẫn tìm địa điểm bằng bản đồ trên Gemini
Cách dùng plugin Gmail trong ChatGPT để chuẩn bị nháp email
13 công cụ AI tốt nhất để tạo tác phẩm nghệ thuật từ một bức ảnh chụp
Hướng dẫn dọn dẹp và quản lý Gmail bằng Gemini
TOP công cụ AI chỉnh sửa ảnh theo từng nhu cầu
5 cách khai thác Gemini với Google Workspace và NotebookLM
TOP Claude Connector tốt nhất cho hoạt động bán hàng
4 lựa chọn thay thế tốt nhất cho Midjourney
Hướng dẫn tạo bài thuyết trình bằng AI trên NoteGPT
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Cách sử dụng công cụ chỉnh sửa ảnh ưu việt trên ChatGPT
Cách dùng AI Agent Consensus tóm tắt tài liệu dài trên ChatGPT
Cách tạo tài liệu bằng AI trên NoteGPT
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10