Python 如何在dict中添加所有int值
那么,想象一下我有一个这样的口述:Python 如何在dict中添加所有int值,python,int,typeerror,Python,Int,Typeerror,那么,想象一下我有一个这样的口述: dict = { "100311929821626368" : { "battles" : 2, "loses" : 0, "maxstamina" : 50, "news" : True, "stamina" : 50, "weeb" : "Chuey", "wins" : 0 }, "100802430467325952"
dict = {
"100311929821626368" : {
"battles" : 2,
"loses" : 0,
"maxstamina" : 50,
"news" : True,
"stamina" : 50,
"weeb" : "Chuey",
"wins" : 0
},
"100802430467325952" : {
"battles" : 4,
"loses" : 0,
"maxstamina" : 50,
"news" : True,
"stamina" : 45,
"weeb" : "Red Haired Bastard",
"wins" : 0
},
"101970309296447488" : {
"battles" : 1,
"loses" : 0,
"maxstamina" : 50,
"news" : True,
"stamina" : 45,
"weeb" : "Niusky",
"wins" : 1
}
}
我的代码是这个代码:
wow = 0
for id in dict:
for i in dict[id]["battles"]:
wow += i
问题是,我不知道如何一次添加所有的战斗int。因为我得到了这个错误:
TypeError: 'int' object is not iterable
我该如何修复它,以使它在字典中的所有战斗中都有效 这就是你想要的吗
wow = 0
for id in dict:
wow += dict[id]["battles"]
必要时解释:dict[id][“battles”]
已返回int值。您试图对该int进行迭代,这毫无意义。这就是您想要的吗
wow = 0
for id in dict:
wow += dict[id]["battles"]
必要时解释:
dict[id][“battles”]
已返回int值。您试图在该int上迭代,这毫无意义。这是此问题的重复:
键只是一个变量名
for key in d:
将简单地循环字典中的键,而不是键和值。要循环键和值,可以使用以下命令:
对于Python2.x:
for key, value in d.iteritems():
wow += value["battles"]
对于Python 3.x:
for key, value in d.items():
这是这个问题的重复: 键只是一个变量名
for key in d:
将简单地循环字典中的键,而不是键和值。要循环键和值,可以使用以下命令:
对于Python2.x:
for key, value in d.iteritems():
wow += value["battles"]
对于Python 3.x:
for key, value in d.items():
问题是,
dict[id]['battles']
是int类型的对象,因此您得到错误的原因是TypeError:'int'对象不可编辑
您可以通过以下方式解决此问题:
wow = 0
for key in dict:
wow += dict[key]['battles']
或者,您甚至可以通过使用Python理解来简化代码:
wow = sum(dict[key]['battles'] for key in dict)
问题是,dict[id]['battles']
是int类型的对象,因此您得到错误的原因是TypeError:'int'对象不可编辑
您可以通过以下方式解决此问题:
wow = 0
for key in dict:
wow += dict[key]['battles']
或者,您甚至可以通过使用Python理解来简化代码:
wow = sum(dict[key]['battles'] for key in dict)
sum(dict中x的x['battles')
以防万一,这实际上是在您的真实代码中。避免使用dict
实际存储词典dict
是一个内置的字典,用于创建字典。sum(dict中x的x['battles'])
以防万一,这实际上是在您的真实代码中。避免使用dict
实际存储词典dict
是用于创建字典的内置工具。请解释他们做错了什么。这将有助于OP更好地理解为什么他们所做的是错误的。天哪,是的,你很聪明。把它写在你的答案中。让它更完整。解释他们做错了什么。这将有助于OP更好地理解为什么他们所做的是错误的。天哪,是的,你很聪明。把它写在你的答案中。让它更完整。如果他们根本不需要键,itervalues()
/values()
会更直接。如果他们根本不需要键,itervalues()
/values()
会更直接。