Python类型错误:“诠释”对象不是可迭代列表理解
问题描述:
当我尝试运行此代码Python类型错误:“诠释”对象不是可迭代列表理解
check = [sum(board[r[0]] + board[r[1]] + board[r[2]]) for r in test]
for row in check:
if row == win:
return True
我得到一个错误
TypeError: 'int' object is not iterable
然而,当我运行下面的代码,它在较长的格式中做同样的事情,它运行平稳,并且没有错误返回
for row in winConditions:
checkA = board[row[0]]
checkB = board[row[1]]
checkC = board[row[2]]
if checkA + checkB + checkC == int(win):
return True
我仍然熟悉机智h列表理解,所以我不确定这是不可能的,还是只是我错过了一些错误。
答
你打电话sum
board[r[0]] + board[r[1]] + board[r[2]]
(这是一个数字)。 sum
需要至少两个数字或一个可迭代的参数 - 因为您只传递一个参数,所以期望它是可迭代的,因此该异常。
这不是SQL,你不需要'sum'函数。 –
删除'sum('和')'它应该可以工作。还要检查代码示例中的缩进;当你在Stack Overflow上提出有关Python的问题时,正确的缩进是**必不可少的**。 –