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) là 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
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)