【发布时间】:2020-08-15 23:48:55
【问题描述】:
尝试运行以下代码行时出现以下错误“无法解压不可迭代的 int 对象”。
numOf95Rows, numOf85Rows, numOf85Rows, numOf75Rows, numOfLess75Rows = 0
但是当我专门声明每个变量时,我没有得到错误。这是为什么呢?
numOf95Rows = 0
numOf85Rows = 0
numOf85Rows = 0
numOf75Rows = 0
numOfLess75Rows = 0
【问题讨论】:
-
该错误是有道理的,因为您试图以错误的方式将单个值分配给 5 个变量。要实现您想要的,请执行此操作
numOf95Rows = numOf85Rows = numOf85Rows = numOf75Rows = numOfLess75Rows = 0 -
因为
int对象不是可迭代的。Iterable是您可以循环的对象(列表、元组、集合...)。在您的情况下,您可以使用:a,b,c = (0,0,0) -
您正在寻找的单线:
numOf95Rows=numOf85Rows=numOf85Rows=numOf75Rows=numOfLess75Rows=0您尝试的拆包工作如下:例如a,b=[0,0] -
或者,
numOf95Rows, numOf85Rows, numOf85Rows, numOf75Rows, numOfLess75Rows = (0,)*5。不过,我宁愿坚持每行 1 个作业。如果有很多值,请使用列表或类似的东西。但是YMMV。
标签: python