HomeLập trìnhPythonBản đồ Python...

Bản đồ Python () – Chức năng liệt kê với các ví dụ


Python cung cấp một số tiện ích lập trình chức năng mặc dù nó chủ yếu là ngôn ngữ lập trình hướng đối tượng. Và đáng chú ý nhất là hàm map().

Trong bài viết này, chúng ta sẽ khám phá những gì map() chức năng là gì và cách sử dụng nó trong mã của bạn.

Các map() hàm (là một hàm tích hợp trong Python) được sử dụng để áp dụng một hàm cho từng mục trong một lặp đi lặp lại (như danh sách Python hoặc từ điển). Nó trả về một lần lặp mới (a đối tượng bản đồ) mà bạn có thể sử dụng trong các phần khác của mã của mình.

Cú pháp chung cho việc này là:

map(function, iterable, [iterable1, iterable2, ...])

Hãy xem một ví dụ: hãy tưởng tượng bạn có một danh sách các số và bạn muốn tạo một danh sách mới với khối của các số trong danh sách đầu tiên. Một cách tiếp cận truyền thống sẽ liên quan đến việc sử dụng vòng:

org_list = [1, 2, 3, 4, 5]
fin_list = []

for num in org_list:
    fin_list.append(num**3)

print(fin_list) # [1, 8, 27, 64, 125]

điều này hoàn toàn hợp lệ, nhưng hãy xem cách sử dụng map() chức năng đơn giản hóa mã của bạn:

org_list = [1, 2, 3, 4, 5]

# define a function that returns the cube of `num`
def cube(num):
    return num**3
   
fin_list = list(map(cube, org_list))
print(fin_list) # [1, 8, 27, 64, 125]

Không biết về bạn, nhưng tôi thấy điều này hợp lý hơn nhiều.

Trong trường hợp bạn đang tự hỏi điều gì đã xảy ra đằng sau hậu trường, map() về cơ bản, chức năng được lặp qua từng phần tử của iterable (trong trường hợp của chúng tôi, org_list) và áp dụng hàm lập phương trên đó. Cuối cùng nó đã trả về một lần lặp mới (fin_list ) Với kết quả.

Cách sử dụng biểu thức Lambda trong Python

Thay vì viết một hàm riêng để tính lập phương của một số, chúng ta có thể sử dụng một lamda biểu hiện ở vị trí của nó. Đây là cách bạn muốn làm điều đó:

fin_list = list(map(lambda x:x**3, org_list))
print(fin_list) # [1, 8, 27, 64, 125]

Sạch sẽ hơn nhiều, bạn có đồng ý không?

Đọc thêm  Cài đặt nhiều phiên bản Python trên Windows bằng Virtualenv

Cách sử dụng các hàm tích hợp trong Python

Bạn cũng có thể chuyển các hàm Python tích hợp sẵn. Ví dụ: nếu bạn có một danh sách các chuỗi, bạn có thể dễ dàng tạo một danh sách mới với độ dài của mỗi chuỗi trong danh sách.

org_list = ["Hello", "world", "freecodecamp"]
fin_list = list(map(len, org_list))
print(fin_list) # [5, 5, 12]

Cách sử dụng hàm với nhiều lần lặp trong Python

Cho đến nay chúng tôi đã chuyển vào map() các hàm chỉ nhận một đối số (nhớ lại cube(num)). Nhưng nếu hàm của bạn có nhiều đối số thì sao? Một ví dụ về điều này sẽ là pow(x, y) hàm nhận 2 đối số (nó trả về kết quả của x^y).

Để áp dụng một hàm có nhiều đối số, chỉ cần chuyển một tên có thể lặp lại khác sau tên đầu tiên.

base = [1, 2, 3, 4]
power = [1, 2, 3, 4]

result = list(map(pow, base, power))
print(result) # [1, 4, 27, 256]

Trong bài viết này, bạn đã học cách làm việc với map() chức năng trong Python. Bạn cũng đã thấy cách nó có thể giảm đáng kể kích thước mã của bạn, giúp mã dễ đọc hơn và không có lỗi.

Bây giờ bạn sẽ cảm thấy thoải mái khi làm việc với map() sử dụng các hàm tích hợp sẵn, biểu thức lambda và thậm chí cả hàm tùy chỉnh của riêng bạn!

Chắc chắn rằng theo dõi tôi trên Twitter để cập nhật các bài viết trong tương lai. Có một cái tốt đẹp!

Đọc thêm  Liệt kê mức độ hiểu trong Python được giải thích cho người mới bắt đầu





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status