Python字典中整数的增量值
所以我写了一个应用程序,它可以计算足球比赛中所有比赛的黄牌数量。 假设我数了巴西队的所有进球,我需要在每一场比赛中增加黄牌的数量。 所以我有一个字典卡片,每个团队的字典,看起来像这样:Python字典中整数的增量值,python,dictionary,Python,Dictionary,所以我写了一个应用程序,它可以计算足球比赛中所有比赛的黄牌数量。 假设我数了巴西队的所有进球,我需要在每一场比赛中增加黄牌的数量。 所以我有一个字典卡片,每个团队的字典,看起来像这样: ['Brazil', 0] 我不想在每次游戏中增加int值。 我尝试了以下方法,但似乎不起作用: def add_yellow_cards_per_team(team_name, cards_num): cards_per_team_dictionary[team_name] += cards_num
['Brazil', 0]
我不想在每次游戏中增加int值。
我尝试了以下方法,但似乎不起作用:
def add_yellow_cards_per_team(team_name, cards_num):
cards_per_team_dictionary[team_name] += cards_num
我得到一个错误:
cards_per_team_dictionary[team_name] += cards_num TypeError: 'set' object is not subscriptable
还有:
def add_yellow_cards_per_team(team_name, cards_num):
cards_per_team_dictionary[team_name] + cards_num
但它似乎超出了前面的整数,而不是相加。
提前谢谢 您已经创建了一个集合而不是一个dict:
dict和set文本都使用{}
,一个区别是d={}
创建一个空dict,其中创建空集合需要st=set()
如果要添加键值配对:
d[key] = value
但对于重复键,您可以使用:
更有效的选择是使用:
在这两种情况下,如果密钥不存在,则会添加新值,如果密钥存在,则会增加密钥的值。您创建了一个集合而不是dict:
dict和set文本都使用{}
,一个区别是d={}
创建一个空dict,其中创建空集合需要st=set()
如果要添加键值配对:
d[key] = value
但对于重复键,您可以使用:
更有效的选择是使用:
在这两种情况下,如果密钥不存在,则会添加新值,如果密钥存在,则会增加密钥的值。
cards\u per\u team\u dictionary[team\u name]+=cards\u num
如果您的dict类似于{“Brazil”0}
,则肯定会起作用。添加一个可运行的示例来复制您的问题:cards_per_team_dictionary[team_name]+=cards_num TypeError:“set”对象不是subscriptableOk,那么您已经在某个地方创建了一个set,添加dict的样子。我在代码开头创建了一个dictionary:cards_per_team_dictionary={'basic',0}这令人困惑。。你的评论是{'Brazil',0},但在你修改后的问题中,你说['Brazil',0],它既不是集合也不是字典——它是一个列表。cards\u per\u team\u dictionary[team\u name]+=cards\u num
如果你的dict像{“Brazil”0},那么肯定能用。添加一个可运行的示例来复制您的问题:cards_per_team_dictionary[team_name]+=cards_num TypeError:“set”对象不是subscriptableOk,那么您已经在某个地方创建了一个set,添加dict的样子。我在代码开头创建了一个dictionary:cards_per_team_dictionary={'basic',0}这令人困惑。。你的评论是{'Brazil',0}但在你修改的问题中,你说['Brazil',0],它既不是集合也不是字典——它是一个列表。谢谢,Padraic,如何正确初始化字典,使它知道这是一个key:value dict?问题是,我需要通过每次迭代将不同的团队添加到此字典中作为key,并在需要时增加每个团队的值d[key]=value,但我认为collections.defaultdict才是您真正想要的。我将在几分钟内编辑Hanks,Padraic,我如何正确初始化字典,尽管它知道这是一个键:值dict?问题是我需要通过每次迭代将不同的团队添加到此字典中作为键,并在需要时增加每个团队的值d[key]=value,但我认为collections.defaultdict是您真正想要的。我将在几分钟后编辑
d[key] = value
data = [("Brazil", 4),("Argentina",6)]
d = {}
for team, count in data:
d.setdefault(team, 0)
d[team] += count
from collections import defaultdict
d = defaultdict(int)
for team, count in data:
d[team] += count