1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Giới thiệu về Functions trong Python

Connected

Bài tập

Reduce() và hàm lambda

Bạn đang dùng hàm lambda ngày càng thuần thục! Đây là thêm một hàm nữa để bạn bổ sung vào bộ kỹ năng của mình. Hàm reduce() hữu ích khi bạn muốn thực hiện một phép tính trên một danh sách và, khác với map() và filter(), trả về một giá trị duy nhất. Để dùng reduce(), bạn phải import nó từ module functools.

Bạn còn nhớ gibberish() từ vài bài trước không?

# Define gibberish
def gibberish(*args):
    """Concatenate strings in *args together."""
    hodgepodge = ''
    for word in args:
        hodgepodge += word
    return hodgepodge

gibberish() đơn giản là nhận một danh sách các chuỗi làm đối số và trả về một kết quả đơn lẻ: chuỗi là kết quả của việc nối tất cả các chuỗi đầu vào. Trong bài này, bạn sẽ tái tạo chức năng đó bằng cách dùng reduce() và một hàm lambda để nối các chuỗi lại với nhau.

Hướng dẫn

100 XP
  • Import hàm reduce từ module functools.
  • Trong lời gọi reduce(), truyền vào một hàm lambda nhận hai đối số kiểu chuỗi item1 và item2 rồi nối chúng lại; đồng thời truyền vào danh sách các chuỗi stark. Gán kết quả cho result. Đối số thứ nhất của reduce() phải là hàm lambda và đối số thứ hai là danh sách stark.