Python中統計字典值(列表)中專案的數量


我們有一個字典,其中鍵值對的值本身就是一個列表。在本文中,我們將瞭解如何計算字典值中作為列表存在的專案的數量。

使用isinstance

假設我們使用isinstance函式來確定字典的值是否為列表。然後,每當isinstance返回true時,我們都會遞增一個計數變數。

示例

 線上演示

# defining the dictionary
Adict = {'Days': ["Mon","Tue","wed","Thu"],
   'time': "2 pm",
   'Subjects':["Phy","Chem","Maths","Bio"]
   }
print("Given dictionary:\n",Adict)
count = 0
# using isinstance
for x in Adict:
   if isinstance(Adict[x], list):
      count += len(Adict[x])
print("The number of elements in lists: \n",count)

輸出

執行上述程式碼將得到以下結果:

Given dictionary:
{'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']}
The number of elements in lists:
8

使用items()

使用items(),我們遍歷字典的每個元素,並應用isinstance函式來確定它是否為列表。

示例

 線上演示

# defining the dictionary
Adict = {'Days': ["Mon","Tue","wed","Thu"],
   'time': "2 pm",
   'Subjects':["Phy","Chem","Maths","Bio"]
   }
print("Given dictionary:\n",Adict)
count = 0
# using .items()
for key, value in Adict.items():
   if isinstance(value, list):
      count += len(value)
print("The number of elements in lists: \n",count)

輸出

執行上述程式碼將得到以下結果:

Given dictionary:
{'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']}
The number of elements in lists:
8

使用enumerate

enumerate函式也展開並列出字典的專案。我們應用is instance來找出哪些值為列表。

示例

 線上演示

# defining the dictionary
Adict = {'Days': ["Mon","Tue","wed","Thu"],
   'time': "2 pm",
   'Subjects':["Phy","Chem","Maths","Bio"]
   }
print("Given dictionary:\n",Adict)
count = 0
for x in enumerate(Adict.items()):
   if isinstance(x[1][1], list):
      count += len(x[1][1])
print(count)
print("The number of elements in lists: \n",count)

輸出

執行上述程式碼將得到以下結果:

Given dictionary:
{'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']}
8
The number of elements in lists:
8

更新於:2020年6月4日

980 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告