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

Keyword argument có kích thước biến đổi

Giờ hãy chuyển sang keyword argument có số lượng biến đổi! Nhiệm vụ của bạn là định nghĩa hàm key_types(). Hàm này nhận một số lượng tùy ý các keyword argument và trả về một từ điển mới: các khóa là các kiểu đối tượng duy nhất của các đối số được truyền vào hàm key_types(), và các giá trị tương ứng là các danh sách. Mỗi danh sách chứa các tên đối số có kiểu trùng với kiểu được dùng làm khóa (ví dụ: gọi key_types(kwarg1='a', kwarg2='b', kwarg3=1) sẽ trả về {<class 'int'>: ['kwarg3'], <class 'str'>: ['kwarg1', 'kwarg2']}).

Để lấy kiểu của một đối tượng, bạn cần dùng hàm type() (ví dụ: type(1)int).

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

  • Định nghĩa hàm với số lượng tùy ý các keyword argument.
  • Lặp qua các cặp khóa–giá trị.
  • Cập nhật danh sách gắn với một khóa.

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.

# Define the function with an arbitrary number of arguments
def key_types(____):
    dict_type = dict()
    # Iterate over key value pairs
    for key, value in kwargs.____:
        # Update a list associated with a key
        if ____(____) in ____:
            dict_type[____].____
        else:
            dict_type[____] = [____]
            
    return dict_type
  
res = key_types(a=1, b=2, c=(1, 2), d=3.1, e=4.2)
print(res)
Chỉnh sửa và Chạy Mã