解决 list 中'int' object is not iterable

dicta = {'参考':['参','考',1,2,3,1], '京东':['京','东',1,45,64,3], '就是':['就','是',12,4,65,2], '参加':['参','加',1,43,5,1]}
import numpy as np
from functools import reduce
s = []
for i in dicta.keys():
#     print(i[0])
    if  i[0] == '参':
        ss = dicta[i][3]
        s.append(ss)
    asb = reduce(lambda x,y:x+y, s)
想要统计dict中key为“参”时,values的第三个元素进行求和,开始的时候一直报整型不能迭代的错误。后来先将第三个元素记录在列表中,导入functools中的reduce方法,能将列表中的元素进行迭代相加
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这个错误通常出现在你尝试迭代一个整数对象上。例如: ``` num = 5 for i in num: print(i) ``` 这段代码会报错 `'int' object is not iterable`,因为整数对象 `num` 不支持迭代操作。要解决这个问题,你需要使用一个可迭代对象,例如列表、元组或字典: ``` num_list = [1, 2, 3, 4, 5] for num in num_list: print(num) ``` 这段代码就可以正常执行,输出列表的每个数字。 ### 回答2: 在Python,当程序出现'int' object is not iterable的错误时,通常是因为你尝试对一个整数类型的对象进行可迭代操作,而整数类型是不可迭代的。 可迭代对象是指可以通过一个循环来依次获取其的元素的对象,比如列表、元组、字符串等。你可以将其用于for循环、列表解析、生成器表达式等语句。 而一个整数类型的对象是不可迭代的,因为它只是一个单个的数值,不包含多个元素。因此,如果你尝试对整数对象进行可迭代操作,就会导致'int' object is not iterable的错误。 为了解决这个错误,你需要检查代码涉及到整数对象的部分,并确保你应用可迭代操作的地方使用的是可迭代对象。如果你想要处理整数对象,可以直接使用整数对象进行相应的操作,而不需要进行循环遍历。 例如,如果你有一个整数对象x,你想要对其进行加法操作,你可以直接写x + 1,而不需要使用循环来处理。但如果你有一个包含多个整数的列表,你可以对列表进行循环遍历,并对每个整数进行相应的操作。 总结起来,当出现'int' object is not iterable的错误时,你需要检查代码是否对整数对象应用了可迭代操作,如果是,则应该更改为适当的操作方式。 ### 回答3: 'int' object is not iterable 是一个常见的错误信息,意思是我们尝试迭代(遍历)一个int类型的对象,但是int类型的对象是不可迭代的。 在编程,可迭代对象是指可以按照一定顺序逐个访问其的元素的对象,例如列表、元组、字符串等等。可迭代对象可以通过循环语句逐个访问其的元素。 然而,int类型的对象是一个整数型的数据,它是一个单一的数值,不是可迭代对象。所以,当我们尝试对一个int类型的对象使用迭代操作时,就会出现'int' object is not iterable的错误。 为了解决这个问题,我们需要确保我们只对可迭代对象使用迭代操作。如果我们想要对一个整数进行迭代操作,可以将其转换为可迭代的对象,例如将其转换为字符串。例如: num = 123 string_num = str(num) 现在,我们可以对string_num进行迭代操作,因为它是一个字符串类型的可迭代对象。当然,具体应用会根据实际问题而定,需要根据具体情况来进行调整。 总之,'int' object is not iterable 的错误是因为我们对一个int类型的对象进行了迭代操作,解决这个问题的一种方法是将其转换为可迭代对象,例如将其转换为字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值