Python 如何打印字典的总和
我试图打印字典中每个列表的总和,但错误返回为TypeError:“int”对象不可编辑,不确定要做什么Python 如何打印字典的总和,python,dictionary,Python,Dictionary,我试图打印字典中每个列表的总和,但错误返回为TypeError:“int”对象不可编辑,不确定要做什么 def pass_bags(s,j): plane={} plane['Spirit']=s plane['JetBlue']=j return plane def show_bags(bags, airline): for i in range(len(bags)): for x in bags[airline][i]: print (t
def pass_bags(s,j):
plane={}
plane['Spirit']=s
plane['JetBlue']=j
return plane
def show_bags(bags, airline):
for i in range(len(bags)):
for x in bags[airline][i]:
print (type (x))
s=[[5,6,7,7,8],[9,3,5]]
j=[[2,8,9,7],[2,3,5,6]]
它需要说的是
On Spirit Airlines:
person 1 has 5 bags weighing 87 lbs
person 2 has 3 bags weighing 17 lbs
您需要为字典编制索引,以便只在与该键相关联的列表上进行迭代。对于每个键,汇总每个子列表并打印详细信息
def show_bags(bags, airline):
for i, l in enumerate(bags[airline], 1):
print('person {} has {} bags weighing {} lbs'.format(i, len(l), sum(l))
寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建。您在哪里调用已定义的函数?您确定您的代码不起作用吗?它在我的控制台上工作,没有任何变化。我刚刚在你的错误打印中看到了sumx。我猜您是在尝试对原始代码使用sum函数,而您并没有发布在这里。这就是为什么你会犯错误。因为sum将尝试迭代给定的对象,而您有“int”而没有“list”