Bắt đầu ngayBắt đầu miễn phí

Hàm map()

Cùng thực hành mapping nào!

Bạn còn nhớ zip() hoạt động thế nào không? Nó gộp các Iterable được truyền vào sao cho các phần tử có cùng chỉ số sẽ nằm trong cùng một tuple. Hơn nữa, đầu ra bị giới hạn bởi Iterable ngắn nhất.

Nhiệm vụ của bạn là định nghĩa hàm my_zip() của riêng bạn với *args biểu diễn số lượng Iterable thay đổi, ví dụ: list, string, tuple, v.v. Thay vì trả về một đối tượng zip, my_zip() cần trả về sẵn một list các tuple.

Lưu ý: lẽ ra cần kiểm tra args xem có chứa các Iterable hay không. Nhưng để đơn giản, ta sẽ bỏ qua bước đó.

Bài tập này là một phần của khóa học

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Trích xuất Iterable lengths từ args bằng map() và tìm độ dài nhỏ nhất.
  • Trong vòng lặp, tạo mapping bằng map() để lấy các phần tử trong args có cùng chỉ số i.
  • Chuyển mapping thành một tuple và thêm nó vào tuple_list.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

def my_zip(*args):
    
    # Retrieve Iterable lengths and find the minimal length
    lengths = list(map(____, ____))
    min_length = ____

    tuple_list = []
    for i in range(0, min_length):
        # Map the elements in args with the same index i
        mapping = map(____, args)
        # Convert the mapping and append it to tuple_list
        tuple_list.append(____(____))

    return tuple_list

result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)
Chỉnh sửa và Chạy Mã