我一直在尝试将列表的键值添加到字典中,而键是X在列表中重复的次数,值是X本身。
my_list = [apple, cherry, apple, potato, tomato, apple]
my_grocery = {}
while True:
try:
prompt = input().upper().strip()
my_list.append(prompt)
except EOFError:
my_list_unique = sorted(list(set(my_list)))
for _ in my_list_unique:
my_grocery[my_list.count(_)] = _
#print(f'{my_list.count(_)} {_}')
print(my_grocery)
break
预期输出是:
{3: APPLE, 1 CHERRY, 1 POTATO, 1 TOMATO}
实际收到的输出是:
{3: 'APPLE', 1: 'TOMATO'}
有谁知道这是为什么吗
你不能在字典中有重复的键,在你的情况下它是“1”,你可以使用 Counter 反之亦然每个产品类型的键值保存事件
from collections import Counter
my_list = []
while True:
try:
prompt = input().strip()
if not prompt:
break
my_list.append(prompt)
except EOFError:
break
item_counts = Counter(my_list)
print(item_counts)
计数器({'番茄': 2, '苹果': 2, '芒果': 1})