繁体   English   中英

类型错误:“int”类型的对象在 python 中没有 len()

[英]TypeError: object of type 'int' has no len() in python

这是我的代码:

res = []

for x in range(9):

    if x == 0:
        res.append([1])
    elif x == 1:
        res.append([1,1])
        print(res)
    else:
        l=[]
        for y in range(len(res[x-1])):
            if y == 0:
                l.append(1)
            else:
                l.append(res[x-1][y] + res[x-1][y-1])
    l.append(1)
    res.append(1)

我遇到了这个问题。 然后我像这样更改了一点代码:

res = [[1],[1,1]]

for i in range(2,9):
res.append([1])
for j in range(len(res[i-1])):
    if j > 0:
        res[i].append(int(res[i-1][j-1]+res[i-1][j]))
res[i].append(1)
print(res)

并且错误消失了。 我很想知道里面有什么问题?

假设您有my_var = 5 通过运行len(my_var)你会得到一个错误,因为变量my_var是一个 int (整数的缩写)。

但是,如果您有my_var = [5] ,您的命令len(my_var)将起作用,因为它是一个列表。

同样,在您的代码中,正如 khelwood 所说,如果您有l.append(1) ,则您的变量l将包含一个整数 1。如果您对此元素调用len() ,则会引发错误。 如果您想将某些内容附加到列表然后稍后找到它的长度,请确保它不是 int 而是列表,请尝试l append([1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM