Show
Hàm Ví dụ args = [(1, 6), (2, 7), (3, 8)] pool.starmap(add, args) hiệu quả sẽ trở lại [add(1, 6), add(2, 7), add(3, 8)] Thủ thuật trên cho phép bạn sử dụng bất kỳ hàm nhiều đối số nào. Tuy nhiên, làm điều này bây giờ có nghĩa là bạn phải chuyển đổi nhiều danh sách đối số thành một danh sách gồm nhiều đối số. Ví dụ, chúng ta cần chuyển đổi def add(x, y): """Return the sum of the two arguments""" return x + y a = [1, 2, 3, 4, 5] b = [6, 7, 8, 9, 10] result = map(add, a, b) print(list(result)) đến from multiprocessing import Pool def add(x, y): """Return the sum of the tuple of two arguments""" return x + y a_b = [(1,6), (2,7), (3,8), (4,9), (5,10)] if __name__ == "__main__": with Pool() as pool: result = pool.starmap(add, a_b) print(result) Việc kết hợp hai danh sách đối số thành một danh sách các bộ dữ liệu có thể gây khó khăn. May mắn thay, python cung cấp chức năng zip. Thao tác này sẽ tự động nén N danh sách thành một danh sách các bộ (mỗi bộ chứa N mục). Ví dụ Để sử dụng đúng bất kỳ hàm hoặc phương thức nào, trước tiên bạn nên xem nó như một hộp đen, hiểu các đối số mà chúng tôi cung cấp (đầu vào) và giá trị trả về do hàm cung cấp (đầu ra). Hàm bản đồ nhận hai đối số. một Trong bài viết này, chúng ta sẽ phân tích chi tiết hơn về hai đối số và giá trị trả về do hàm map cung cấp. Bắt đầu nào. 😍 Đối số đầu tiên. một chức năngNhư đã nêu trước đó, hàm bản đồ chấp nhận một hàm làm đối số đầu tiên. Khi chúng ta nghĩ về một hàm trong Python, chúng ta sẽ tự động nghĩ đến từ khóa Các chức năng tích hợp sẵn là các chức năng đã được tạo sẵn và luôn sẵn sàng để sử dụng. Hàm bản đồ thực sự là một hàm tích hợp được cung cấp bởi thư viện chuẩn của Python. Hơn nữa, các hàm ẩn danh, còn được gọi là hàm lambda, là các hàm được định nghĩa không có tên bằng cách sử dụng từ khóa lambda. Quá nhiều thông tin? chức năng bình thườngChúng tôi có một danh sách các số và chúng tôi muốn nhân đôi chúng. Một tùy chọn là lặp qua danh sách bằng cách sử dụng vòng lặp for hoặc tùy chọn khác có thể là sử dụng khả năng hiểu danh sách, nhưng vì bài viết này là về chức năng bản đồ nên hãy sử dụng nó Trước hết, chúng ta định nghĩa một hàm bằng từ khóa def. Hàm này lấy một số làm đầu vào và trả về số này nhân với hai. Sau đó, chúng tôi áp dụng chức năng này cho mọi thành phần của danh sách bằng bản đồ. Khi hàm map trả về một đối tượng bản đồ, chúng ta cần chuyển đổi nó thành một danh sách bằng cách sử dụng hàm tích hợp danh sách Chúng ta có thể lập trình phức tạp hơn như đặt các số chẵn thành 0 và giữ nguyên các số lẻ Ý tưởng rất rõ ràng, áp dụng một chức năng cho mọi thành phần trong một lần lặp. ) chức năng ẩn danhNhư tôi đã nói trước đây, chúng ta cũng có thể sử dụng các hàm ẩn danh cùng với các hàm bản đồ; Các hàm ẩn danh có cú pháp sau đối số lambda. sự biểu lộ Các hàm này, phù hợp để sử dụng trong thời gian ngắn, có thể có số lượng đối số bất kỳ và giá trị được trả về là giá trị được cung cấp bởi biểu thức. Chúng ta có thể tìm thấy chúng không chỉ trong Python; Hãy giải quyết vấn đề trước đó bằng cách sử dụng các hàm ẩn danh. Chúng tôi có một danh sách các phần tử và chúng tôi muốn nhân mỗi phần tử với hai. Trong trường hợp này, hàm lambda có một đối số duy nhất (x) và trả về giá trị này nhân với 2 (x*2) Hãy tiến thêm một bước nữa. Chúng ta cũng có thể sử dụng các chức năng bản đồ với các phương thức. Các phương thức tương tự như các hàm, nhưng có một vài điểm khác biệt. Một lời giải thích tốt về nó có thể được tìm thấy trong liên kết sau Sự khác biệt giữa Phương thức và Hàm trong Python — GeekforGeeksTại đây, sự khác biệt chính giữa Phương thức và Hàm trong Python được giải thích. Java cũng là một ngôn ngữ OOP, nhưng chúng…www. chuyên viên máy tính. tổ chức Chúng tôi có một danh sách tên các thành phố và chúng tôi muốn viết hoa tất cả chúng. Chúng ta có thể đạt được điều đó bằng cách sử dụng chức năng bản đồ kết hợp với phương thức tiêu đề Chức năng tích hợp sẵnThư viện chuẩn của Python có rất nhiều hàm luôn có sẵn để sử dụng và tất nhiên, chúng ta cũng có thể sử dụng chúng kết hợp với hàm map. Xem tài liệu về python về các chức năng tích hợp sẵn; Hàm tích hợp - Python 3. 7. 3 tài liệuTrình thông dịch Python có một số hàm và kiểu được tích hợp sẵn luôn sẵn dùng. Chúng được liệt kê…tài liệu. con trăn. tổ chức Chúng tôi có danh sách các số trước đó, nhưng trong trường hợp này, chúng tôi muốn rằng mọi phần tử của danh sách là một chuỗi chứ không phải là một số nguyên. Chúng ta có thể dễ dàng chuyển đổi danh sách các số nguyên này thành một danh sách các chuỗi bằng cách sử dụng hàm map kết hợp với hàm str Đối số thứ hai. Có thể lặp lạiKhi tôi nghĩ về một lần lặp, tôi tự động nghĩ về các danh sách, nhưng các lần lặp không chỉ là danh sách. Một iterable là một đối tượng có số lượng giá trị có thể đếm được, ví dụ như có thể lặp lại bằng cách sử dụng vòng lặp for. Các tập hợp, bộ dữ liệu, từ điển cũng có thể lặp lại và chúng có thể được sử dụng làm đối số thứ hai của hàm bản đồ. Hãy xem một số ví dụ Chúng tôi có một bộ số và chúng tôi muốn tăng giá trị của chúng lên 1. Chúng ta có thể đạt được điều đó bằng cách sử dụng chức năng bản đồ. Chúng ta phải sử dụng hàm tuple() tích hợp vì hàm map trả về một đối tượng bản đồ chứ không phải một tuple Hãy tiếp tục với nhiều ví dụ hơn. Chúng tôi có một bộ số và chúng tôi muốn lấy lập phương của tất cả chúng. Chúng tôi sử dụng tập hợp này làm đối số thứ hai của hàm bản đồ. Một lần nữa, nếu chúng ta muốn lấy một tập hợp thay vì một đối tượng bản đồ, chúng ta phải sử dụng hàm set() Như tôi đã nói trước đây, một iterable cũng có thể là một từ điển, hoặc một danh sách các bộ dữ liệu. Chúng ta có thể tạo một danh sách mới, chỉ chứa phần tử thứ ba của mỗi bộ. Thậm chí, chúng ta có thể áp dụng một phép biến đổi cho phần tử thứ ba này Như một ví dụ cuối cùng, chúng tôi sử dụng như một hàm phạm vi có thể lặp lại. Hãy tưởng tượng rằng chúng tôi muốn tạo một danh sách các chuỗi từ 0 đến 20. Chúng ta có thể dễ dàng đạt được điều đó bằng cách sử dụng hàm phạm vi dưới dạng lặp lại của hàm bản đồ Tôi hy vọng rằng bạn sẽ cảm nhận được chức năng bản đồ hoạt động như thế nào sau tất cả các ví dụ này. Bây giờ, hãy nói về khía cạnh thứ ba của chức năng bản đồ. giá trị trả về Giá trị trả về. một trình vòng lặpHàm bản đồ trả về một đối tượng bản đồ về cơ bản là một trình vòng lặp. Trình vòng lặp này có thể dễ dàng chuyển đổi thành một danh sách, bộ hoặc bộ bằng cách sử dụng chức năng tích hợp phù hợp Hàm ánh xạ có thể có bao nhiêu đối số trong Python?Hàm map nhận hai đối số . một iterable và một hàm và áp dụng hàm cho từng thành phần của iterable. Giá trị trả về là một đối tượng bản đồ;).
Một hàm có thể có nhiều tham số Python không?Hàm Python có thể có nhiều tham số . |