为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕后森 2022-12-26 09:58:02
问题:找出列表中是否存在回文整数。解决方案:我迭代了显示印刷错误的整数变量。在用字符串对列表的每个整数进行类型转换后,我能够遍历列表。输出给出类型错误:'int' object is not sub-scriptabledef 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)
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

“'int' object is not subscriptable”意味着您尝试在 int 变量上使用“[]”

在你的代码中,L 是一个整数列表,你访问 for 循环中的每个元素,然后你尝试获取 int 变量(表示为 i)并像这样访问它“i [::-1]”这是一个“Typeerror”因为“i”是一个整数而不是列表

希望有帮助



查看完整回答
反对 回复 2022-12-26
?
忽然笑

TA贡献1806条经验 获得超5个赞

如果您只想检查一个元素是否在列表中,您可以使用

n in L

如果 n 是 L 的元素,则返回 True



查看完整回答
反对 回复 2022-12-26
?
慕的地10843

TA贡献1785条经验 获得超8个赞

我认为您想查找列表中是否有数字 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)

希望那是你需要的


查看完整回答
反对 回复 2022-12-26
  • 3 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信