2017-09-29 1 views
-2
l1 = [{"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 3, "Name": "John", "Email": "[email protected]", "Designation": "Software Tester"}, 
     {"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 2, "Name": "Devid", "Email": "[email protected]", "Designation": "Data Analyst"}, 
     {"ID": 3, "Name": "john", "Email": "[email protected]", "Designation": "Software Tester"}, 
     {"ID": 5, "Name": "Sandy", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 4, "Name": "Jenifer", "Email": "[email protected]", "Designation": "Software Developer"}] 

l2 = [{"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 3, "Name": "John", "Email": "[email protected]", "Designation": "Software Tester"}, 
     {"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 1, "Name": "Sagar", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 2, "Name": "Devid", "Email": "[email protected]", "Designation": "Data Analyst"}, 
     {"ID": 3, "Name": "john", "Email": "[email protected]", "Designation": "Software Tester"}, 
     {"ID": 5, "Name": "Sandy", "Email": "[email protected]", "Designation": "Software Developer"}, 
     {"ID": 4, "Name": "Jenifer", "Email": "[email protected]", "Designation": "Software Developer"}] 

結果の名前は、この辞書で繰り返されます。どのようにこれを行うには考えですか?Pythonの辞書で繰り返される時間の名前の数を計算する方法

答えて

1

collections.Counterに渡された:これはあなたのリストのすべてのdictsの名前を持つカウンター辞書を作成

import collections 

print(collections.Counter(x['Name'] for x in l1)["Sagar"]) 

、その後、特定の名前Sagar

0

別の辞書を使用し、リストをループします。 1行使用して理解で

names = {} 
for person in l: 
    name = person["Name"] 
    if name in names: 
     names[name] += 1 
    else: 
     names[name] = 1 
+0

それは非常にunpythonic solutイオン。 –

+0

確かに、理解しやすいです –

1
のカウントを取ります

次のコードを使用することができます:

print sum(1 for element in l1 if element['Name'] == 'Sagar') 
関連する問題