เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Keyword arguments ที่มีจำนวนไม่คงที่

ต่อไปมาลองใช้ keyword arguments แบบที่มีจำนวนไม่คงที่กัน! งานของคุณคือกำหนดฟังก์ชัน key_types() ให้รับ keyword arguments จำนวนเท่าใดก็ได้ แล้วคืนค่าเป็น dictionary ใหม่ โดยคีย์คือประเภทของออบเจกต์ที่ไม่ซ้ำกันของอาร์กิวเมนต์ที่ส่งเข้ามา และค่าที่เชื่อมโยงกับแต่ละคีย์คือลิสต์ที่บรรจุชื่ออาร์กิวเมนต์ซึ่งมีประเภทตรงกับคีย์นั้น (เช่น การเรียก key_types(kwarg1='a', kwarg2='b', kwarg3=1) จะได้ผลลัพธ์เป็น {<class 'int'>: ['kwarg3'], <class 'str'>: ['kwarg1', 'kwarg2']}).

หากต้องการดึงประเภทของออบเจกต์ ให้ใช้ฟังก์ชัน type() (เช่น type(1) คือ int)

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดฟังก์ชันให้รับ keyword arguments จำนวนเท่าใดก็ได้
  • วนซ้ำผ่านคู่ key-value
  • อัปเดตลิสต์ที่เชื่อมโยงกับคีย์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด