Hàm map() trong Python sẽ duyệt và thực hiện thao tác với từng phần tử của mảng (list, set, tuple) và trả về kết quả sau khi thao tác.
map() có thể dùng thay vòng lặp for, while trong nhiều trường hợp. Xét các ví dụ sau
Ví dụ 1
Dùng for:
def binhphuong(n):
return n*n
a = (2, 5, 3, 100)
kq = []
for i in a:
kq.append(binhphuong(i))
print(kq)
Dùng map()
def binhphuong(n):
return n*n
a = (2, 5, 3, 100)
kq = map(binhphuong, a)
print(list(kq))
Ví dụ 2. Dùng lambda trong map()
a = (1, 2, 3, 4)
kq = map(lambda x: x*x, a)
kq = tuple(kq)
print(kq)
Ví dụ 3. Dùng map tính toán phần tử mảng
num1 = [4, 5, 6]
num2 = [5, 6, 7]
cong = map(lambda n1, n2: n1+n2, num1, num2)
nhan = map(lambda n1, n2: n1*n2, num1, num2)
print(list(cong))
print(list(nhan))
Ví dụ 4. Chuyển đổi kiểu dữ liệu phần tử mảng và tính toán
ch1 = ['4', '5', '6']
num2 = [5, 6, 7]
num1 = list(map(int, ch1)) # thao tác ép kiểu phần tử list
cong = map(lambda n1, n2: n1+n2, num1, num2)
print(list(cong))