TypeError: 'int' 对象在 Python3 中不可订阅

问题:找出列表中是否存在回文整数。

解决方案:我迭代了显示印刷错误的整数变量。在用字符串对列表的每个整数进行类型转换后,我能够遍历列表。


输出给出类型错误:'int' object is not sub-scriptable


def function(n, L):

    # checking if number i == reverse of this number which is raising error

    print(any(i==i[::-1] for i in L))


if __name__ == '__main__':

    n = 5

    L = [2, 3, 5, 101, 42]

    function(n, L)


慕后森
浏览 103回答 3
3回答

慕少森

“'int' object is not subscriptable”意味着您尝试在 int 变量上使用“[]”在你的代码中,L 是一个整数列表,你访问 for 循环中的每个元素,然后你尝试获取 int 变量(表示为 i)并像这样访问它“i [::-1]”这是一个“Typeerror”因为“i”是一个整数而不是列表希望有帮助

忽然笑

如果您只想检查一个元素是否在列表中,您可以使用n in L如果 n 是 L 的元素,则返回 True

慕的地10843

我认为您想查找列表中是否有数字 n(或字符串)。如果我理解正确,请尝试使用此功能,它更具可读性并且可以运行。    def function(n,L):        print(any(n == x for x in L))    if __name__ == '__main__':        n = 5        L = [2, 3, 5, 101, 42]        function(n, L)希望那是你需要的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go