Ánh xạ vào danh sách python
Chúng ta thường hay phải xử lý các phần tử của một danh sách hoặc một vùng chứa nào đó bằng một phương thức Giả sử ta phải cập nhật một danh sách bằng cách tăng từng giá trị trong danh sách đó lên 1 đơn vị
Chúng ta sẽ xem xét sơ đồ qua cú pháp của hàm map trước khi xem hàm map xử lý công việc bên trên. Đầu tiên là cái cơ bản nhất
Hàm bản đồ này sẽ trả về một đối tượng bản đồ (một trình tạo định dạng) Vậy chức năng map hoạt động như thế nào? Nôm na hàm map it will look like this
Chúng ta đến với ví dụ để hiểu rõ hơn
Bạn còn nhớ lambda chứ?
Đôi lúc, việc sử dụng hàm map còn nhanh hơn cả việc hiểu danh sách
Ta extension map ra nhé. Vì bản đồ hàm đầy đủ cú pháp là
Bạn đọc lưu ý, khi bạn chuyển vào nhiều vùng chứa để biến hàm map gọm lại bằng cách đóng gói đối số thì các vùng chứa phải cùng số lượng giá trị (cùng giá trị hàm len). Vì khi có nhiều container pass vào, hàm map sẽ cùng một lúc lấy giá trị của các container Bạn đọc sẽ hiểu kỹ khi xem ví dụ sau đây
Như bạn đã thấy, hàm map sẽ lấy từng giá trị của cả hai danh sách rồi gửi nó vào hàm. À, bạn cũng phải lưu ý là bạn pass vào n container thì bạn cũng phải thiết kế cái hàm nào có thể nhận n đối số luôn nhé
hàm lọcFilter có nghĩa là bộ lọc bộ phận. Nghe qua, chắc bạn cũng ít nhiều biết được nó sẽ làm gì rồi Cú pháp this function as after
Cũng như bản đồ hàm, bộ lọc hàm sẽ trả về một đối tượng bộ lọc (đối tượng trình tạo một định dạng)
Hàm filter lấy từng giá trị trong iterable, sau đó gửi vào hàm, nếu như giá trị hàm trả về là một giá trị mà khi chuyển sang kiểu dữ liệu boolean là True thì sẽ trả về giá trị đó, nếu không thì bỏ qua Trường hợp bạn không gửi hàm vào mà là Không có, hàm lọc lấy từng giá trị trong iterable, nếu giá trị đó chuyển sang giá trị boolean là True thì yield, nếu không thì bỏ qua Chúng ta đến với ví dụ để hiểu thêm. Đầu tiên sẽ có chức năng bằng một ví dụ bộ lọc lấy các số dương (lớn hơn 0)
Hàm func nhận vào 1 giá trị, nếu giá trị đó lớn hơn 0 thì trả về True, còn không thì là Sai nhờ toán tử so sánh. Do đó, các giá trị gửi vào mà nhận giá trị sai là không mang lại kết quả Nếu bạn nào còn mông lung thì hãy xem qua danh sách hiểu tương đương với hàm filter trên ________số 8Tiếp theo là một ví dụ khác khi ta gửi Không thay vì một chức năng
hàm giảmBất kỳ giá trị nào khi chuyển đổi qua giá trị boolean mà Sai thì sẽ không mang lại kết quả. Đơn giản phải không nào?. D
Ở các ví dụ tiếp theo, thì sẽ không có dòng này vì lặp lại nên bạn đọc coi như chúng ta đã có dòng lệnh này ở đầu chương trình tức thời có nghĩa là chúng ta đã nhập hàm reduce từ functools thư viện rồi. Hàm này khá phức tạp, các bạn không cần phải nóng lên để hiểu nó. Ta hãy đến với cú pháp của nó
Để đơn giản nhất, chúng ta hãy tạm quên truy cập tham số ban đầu Đầu tiên, hàm reduce sẽ lần lượt lấy hai giá trị đầu tiên của dãy (chỉ số 0, chỉ số 1) và đưa vào hàm hàm
Hãy đến với các ví dụ để hiểu rõ hơn Ví dụ dùng reduce để tính tổng các số trong danh sách 0Ví dụ dùng reduce để tính các số trong danh sách 1Nào, giờ chúng ta bước tới khi có đối số cho tham số ban đầu. Khi lừa, khi chưa có chữ cái đầu tiên, hàm giảm lấy hai giá trị để lừa vào chức năng đầu tiên. Nhưng khi bạn đưa đối số vào cho tham số ban đầu thì hàm reduce sẽ lấy giá trị ban đầu và giá trị đầu tiên của dãy (chỉ số 0) được đưa vào hàm và tiếp tục trả về một giá trị, rồi giá trị đó lại tiếp tục với giá trị Ví dụ để hiểu thêm 2Kết luậnQua bài viết này, bạn đã biết về hàm ẩn danh lambda Ở bài tiếp theo, Kteam sẽ nói đến KỸ THUẬT ĐỆ QUY Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc đóng góp ý kiến của mình để phát triển bài viết tốt hơn. Don't say “Luyện tập – Thử thần – Không sợ khó” Thảo luậnNếu bạn gặp bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam. com to get the support from the community |