Python中'int object is not reversible'错误解决:输出列表末尾元素5
解决"int object is not reversible"报错并得到结果5
嘿,我明白你遇到的问题了!咱们先拆解一下为什么会报错:
你写的list[0]是取列表的第一个元素,也就是整数1。而reversed()函数只能作用于可迭代对象(比如列表、字符串、元组这类能逐个遍历元素的东西),整数显然不是可迭代的,所以Python就抛出了"int object is not reversible"的错误。
而你想要得到的结果是5,也就是列表的最后一个元素,这里有两种简单的解决方式:
方法1:直接取最后一个元素(最简洁)
Python里列表支持负索引,list[-1]就代表最后一个元素,直接用这个就行:
my_list = [1, 2, 3, 4, 5] # 注意尽量不要用list当变量名,它是Python内置类型 print(my_list[-1]) # 输出:5
方法2:如果一定要用reversed()函数
如果你坚持想用reversed()来实现,那得先反转整个列表,再取反转后的第一个元素。因为reversed()返回的是一个迭代器,我们可以用next()来获取它的第一个元素,或者转成列表后取索引0:
my_list = [1, 2, 3, 4, 5] # 方式A:用next()获取迭代器的第一个元素 print(next(reversed(my_list))) # 输出:5 # 方式B:转成列表后取索引0 reversed_list = list(reversed(my_list)) print(reversed_list[0]) # 输出:5
另外提醒一下:尽量不要用list作为变量名哦,因为它是Python的内置类型,这样命名会覆盖掉原本的list()函数,可能会引发其他奇怪的问题。
内容的提问来源于stack exchange,提问作者Ömer Kural
相关产品推荐
相关产品推荐

