清芷在沅湘 发表于 2021-10-24 13:21:16

有偿提问50鱼币 python sum()报错unsupported operand type(s) for +: 'int' and...

如图 我定义了一个字典 然后将其中的数值抽取出来形成一个列表希望通过sum()进行求和,但出现了“unsupported operand type(s) for +: 'int' and 'tuple'”
的报错。对于这个问题,我有两个地方不理解:1.为什么会报错?2.为什么报错提到整型数据与元组不能相加?这里似乎没有出现元组

逃兵 发表于 2021-10-24 13:27:32

>>> dic = {'王健':18,'张云':19}
>>> lnum = []
>>> for k,v in dic.items():
        lnum.append(v)

       
>>> sum(lnum)
37

kogawananari 发表于 2021-10-24 13:34:30

.items()改成.values()

前者是元组('王建',18) 后者是 18

kifer2021 发表于 2021-10-24 14:07:25

for item in dicStudent.items():   print(item) 这样打印出来的就是元组('王健', 18)

      

海绵布丁 发表于 2021-10-24 14:16:00

字典的items返回的是一个元组,(索引,值),所以会元组不能相加,

qq1151985918 发表于 2021-10-24 14:25:48

>>> dic = {"A":18, "B":20, "C":50}
>>> dic.items()
dict_items([('A', 18), ('B', 20), ('C', 50)])
>>> dic.values()
dict_values()
>>> sum(dic.values())
88
>>>

myqf123 发表于 2021-10-26 21:11:53

for item in dicStudent.items():这里的item是键值对的元组,当然不能求和了,要这样写lnum.append(item)
页: [1]
查看完整版本: 有偿提问50鱼币 python sum()报错unsupported operand type(s) for +: 'int' and...