打印带有数字和字符串的嵌套列表中每个元素的大小

2024-10-05 15:29:46 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试运行下面的for循环时,我得到一个错误

TypeError: object of type 'int' has no len()

所需输出:1 1 3 3

这就是我试图运行的代码。感谢所有能帮我解决这个问题的人

lst = ['spam!', 1, ['Brie', 'Roquefort', 'Pol lê Veq'], [1, 2, 3]]

for index in lst:
    print(len(index))

Tags: ofno代码forindexlenobjecttype
2条回答

问题是,在python中无法获得整数的字符长度,您可以将每个项转换为列表

list = [['spam!'], [1], ['Brie', 'Roquefort', 'Pol lê Veq'], [1, 2, 3]]

for index in list:
    print(len(index))

或者您可以使用字符串而不是整数,并在需要时强制转换它

首先,您需要检查每个项目是否都是一个列表。然后,将len函数应用于列表项并打印结果,否则,打印1

lst = ['spam!', 1, ['Brie', 'Roquefort', 'Pol lê Veq'], [1, 2, 3]]

for i in lst:
    if isinstance(i, list):
        print(len(i))
    else:
        print(1)

相关问题 更多 >