获取反向列表的长度不起作用:
lst = [1,2,3]
lst = reversed(lst)
print len(lst)
抛出TypeError: object of type 'listreverseiterator' has no len()
解决方法是:
lst = [1,2,3]
lst_length = len(lst)
lst = reversed(lst)
print lst_length
# OR
lst = lst[::-1]
print len(lst)
现在我真正的问题是为什么?
简单地反转列表不会改变列表的长度,
那么为什么Python会抛出异常?
答案 0 :(得分:1)
反转不生成新列表,它只返回迭代器对象。你可以使用lst.reverse() - 并且它不会返回任何内容,但会以相反的顺序使你的lst