Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Count Items in Dictionary Value ที่เป็น List ใน Python

ได้ Dictionary ที่ Value บางตัวเป็น List นับจำนวน Item ทั้งหมดใน Value ที่เป็น List ทั้งหมด

วิธี 1: ใช้ isinstance() ใน For Loop


Adict = {'Days': ["Mon","Tue","Wed","Thu"], 'time': "2 pm", 'Subjects': ["Phy","Chem","Maths","Bio"]}
count = 0
for v in Adict.values():
    if isinstance(v, list):
        count += len(v)
print(count)  # 8

วิธี 2: ใช้ items() (เข้าถึง Key ได้)


Adict = {'Days': ["Mon","Tue","Wed","Thu"], 'time': "2 pm", 'Subjects': ["Phy","Chem","Maths","Bio"]}
count = sum(len(v) for v in Adict.values() if isinstance(v, list))
print(count)  # 8

วิธี 3: ใช้ enumerate(items())


Adict = {'Days': ["Mon","Tue","Wed","Thu"], 'time': "2 pm", 'Subjects': ["Phy","Chem","Maths","Bio"]}
count = 0
for _, (k, v) in enumerate(Adict.items()):
    if isinstance(v, list):
        count += len(v)
print(count)  # 8

สรุป

วิธี 2 กระชับที่สุด ใช้ Generator Expression กับ sum() ไม่ต้องสร้างตัวแปรกลาง