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

จะนับองค์ประกอบในพจนานุกรม Python ที่ซ้อนกันได้อย่างไร


มันเป็นไปได้ที่จะวนซ้ำคู่ค่าคีย์แต่ละคู่ในพจนานุกรมด้วยนิพจน์

for k,v in students.items():

เนื่องจากองค์ประกอบค่าของแต่ละรายการเป็นพจนานุกรมในพจนานุกรม Python ที่ซ้อนกัน ความยาวของพจนานุกรมย่อยแต่ละรายการคือ len(v) ทำการบวกสะสมในลูปเพื่อรับการนับองค์ประกอบทั้งหมด

>>> students={"student1":{"name":"Raaj", "age":23, "subjects":["Phy", "Che", "maths"],"GPA":8.5},"student2":{"name":"Kiran", "age":21, "subjects":["Phy", "Che", "bio"],"GPA":8.25}}
>>> s=0
>>> for k,v in students.items():
    s=s+len(v)


>>> s
8

การแสดงที่กระชับกว่าข้างต้นจะเป็น -

>>> sum(len(v)for v in students.values())
8