如何更改字典的键和值
How to change the key and value of a dictionary
所以我得到了以下代码,我想做的是获取输入元组的每个第二个值,并将其保存到字典中作为 dict.key
,dict.value
首先设置为 0。之后我想遍历保存的字典,每次元组中出现这个 dict.key
我想把它的计数放在 dict.value
中。该代码目前给我一个错误。
def movie_awards(results):
"""
I want to ignore every first value of the tuple
"""
results = list(results)
answer = {x[1]:0 for x in results}
for x in results:
answer[x[1]] = answer[x] + 1
print(answer)
result = {("Best Picture", "Parasite"),\
("Best Actor", "Joker"),\
("Best Actress", "Judy"),\
("Best Sound Editing", "Ford v Ferrari"),\
("Best Sound Editing", "1917"),\
("Best Original Score", "Joker"),\
("Best Costume Design", "Little Women"),\
("Best Visual Effects", "Little Women"),\
("Best Director", "Parasite")}
只需使用 +=
:
添加号码
for x in results:
answer[x[1]] += 1
print(answer)
正在做:
answer[x]
python 正在尝试获取键为 ('Best Original Score', 'Joker')
的 key:value
对。由于它不存在,因此引发了一个关键错误。
您也可以只使用 collections.Counter
:
from collections import Counter
def movie_awards(results):
return Counter(x[1] for x in results)
您可以使用计数器:
from collections import Counter
c = Counter([t[1] for t in result])
>>> Counter({'Joker': 2, 'Parasite': 2, 'Little Women': 2, '1917': 1, 'Ford v Ferrari': 1, 'Judy': 1})
所以我得到了以下代码,我想做的是获取输入元组的每个第二个值,并将其保存到字典中作为 dict.key
,dict.value
首先设置为 0。之后我想遍历保存的字典,每次元组中出现这个 dict.key
我想把它的计数放在 dict.value
中。该代码目前给我一个错误。
def movie_awards(results):
"""
I want to ignore every first value of the tuple
"""
results = list(results)
answer = {x[1]:0 for x in results}
for x in results:
answer[x[1]] = answer[x] + 1
print(answer)
result = {("Best Picture", "Parasite"),\
("Best Actor", "Joker"),\
("Best Actress", "Judy"),\
("Best Sound Editing", "Ford v Ferrari"),\
("Best Sound Editing", "1917"),\
("Best Original Score", "Joker"),\
("Best Costume Design", "Little Women"),\
("Best Visual Effects", "Little Women"),\
("Best Director", "Parasite")}
只需使用 +=
:
for x in results:
answer[x[1]] += 1
print(answer)
正在做:
answer[x]
python 正在尝试获取键为 ('Best Original Score', 'Joker')
的 key:value
对。由于它不存在,因此引发了一个关键错误。
您也可以只使用 collections.Counter
:
from collections import Counter
def movie_awards(results):
return Counter(x[1] for x in results)
您可以使用计数器:
from collections import Counter
c = Counter([t[1] for t in result])
>>> Counter({'Joker': 2, 'Parasite': 2, 'Little Women': 2, '1917': 1, 'Ford v Ferrari': 1, 'Judy': 1})