python中如何计算字典中时间名称的重复次数

2024-10-05 11:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

l1 = [{"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 3, "Name": "John", "Email": "dohn@gmail.com", "Designation": "Software Tester"},
      {"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 2, "Name": "Devid", "Email": "devid@gmail.com", "Designation": "Data Analyst"},
      {"ID": 3, "Name": "john", "Email": "john@gmail.com", "Designation": "Software Tester"},
      {"ID": 5, "Name": "Sandy", "Email": "Sandy@gmail.com", "Designation": "Software Developer"},
      {"ID": 4, "Name": "Jenifer", "Email": "Jenifer@gmail.com", "Designation": "Software Developer"}]

l2 = [{"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 3, "Name": "John", "Email": "dohn@gmail.com", "Designation": "Software Tester"},
      {"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 1, "Name": "Sagar", "Email": "Sagar@gmail.com", "Designation": "Software Developer"},
      {"ID": 2, "Name": "Devid", "Email": "devid@gmail.com", "Designation": "Data Analyst"},
      {"ID": 3, "Name": "john", "Email": "john@gmail.com", "Designation": "Software Tester"},
      {"ID": 5, "Name": "Sandy", "Email": "Sandy@gmail.com", "Designation": "Software Developer"},
      {"ID": 4, "Name": "Jenifer", "Email": "Jenifer@gmail.com", "Designation": "Software Developer"}]

我想把结果作为萨加尔名字在这本词典中重复的次数。你知道怎么做吗


Tags: namecomiddeveloperemailsoftwarejohngmail
3条回答

使用另一本字典并循环浏览列表

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

在一行中使用传递给collections.Counter的理解:

import collections

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

这将创建一个计数器dict,其中包含列表中所有dict的名称,然后计算特定名称的计数Sagar

您可以使用以下代码:

print sum(1 for element in l1 if element['Name'] == 'Sagar' )

相关问题 更多 >

    热门问题