如何统计Python列表中元素的出现次数,并将结果存入字典?

编程语言 2026-07-08

我有一个Python列表,里面包含多份点单,其中有些条目会出现多次。我想统计每个条目出现的次数,并把结果存储在一个字典中(键是菜名,值是计数)。

下面是我当前的做法,使用一个 for 循环:

orders = ["Burger", "Pizza", "Burger", "Ramen", "Pizza", "Burger"]
count_dict = {}

for item in orders:
    # This throws a KeyError because the key doesn't exist yet
    count_dict[item] += 1

print(count_dict)

运行这段代码时,我得到一个 KeyError。我理解这是因为在第一次向字典中添加 1 时,键并不存在。

应如何处理才是最好的、也是最Pythonic的做法?我应该使用一个 if 语句来检查键是否存在,还是Python中有内置的工具可以更高效地完成这件事?

解决方案

我想到的最符合Python风格的做法是使用 collections.Counter

from collections import Counter

orders = ["Burger", "Pizza", "Burger", "Ramen", "Pizza", "Burger"]

count = Counter(orders)

print(count)           # Counter({'Burger': 3, 'Pizza': 2, 'Ramen': 1})
print(count["Burger"]) # 3
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章