Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python字典中整数的增量值_Python_Dictionary - Fatal编程技术网

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