python “TypeError:”int“对象不可迭代”在for循环上,但不在列表解析中

zlhcx6iw  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(190)

我正在写一个代码来检查嵌套列表中每个列表的索引是否相同。我试着把它写成一个for循环,但是我得到了“TypeError:“int”对象不可迭代”。然后我尝试执行列表解析,但它没有得到TypeError。我是编程新手,所以我真的不知道这两个表达式是否应该执行相同的操作。有人能帮我理解它们之间的区别以及为什么我在for循环中得到TypeError吗?它应该验证数独,因此嵌套列表的长度被假定为与每个子列表的长度相同。
对于循环:

for l in nlist:
    if len(set(l[0])) != len(nlist):
        return False

列表理解:

validate_nlist = len(set(l[0] for l in nlist)) == len(nlist)
dgiusagp

dgiusagp1#

请改用any

if any(len(set(l[0])) != len(nlist) for l in nlist):
    return False

相关问题