2020-魄力 发表于 2020-6-13 22:08:23

列表翻转

https://xxx.ilovefishc.com/album/202006/13/220210uaifeaefnp1b1h35.jpg

如图所示,为啥不行呢?列表.reverse()和reversed()区别在哪里?试验一下也没试出来

Twilight6 发表于 2020-6-13 22:16:55



reverse() 是列表内置方法,专门对列表使用,而且在列表本身进行改变,没有返回值


而 reversed() 是将迭代器反转后返回,是Python内置函数,可以单独使用,参数是可迭代对象(string,tuple,list或range)

wuqramy 发表于 2020-6-13 22:21:32

本帖最后由 wuqramy 于 2020-6-13 22:25 编辑

让我们看看reversed后是个什么东西:
>>> a =
>>> b = reversed(a)
>>> b
<list_reverseiterator object at 0x0000000002D9B100>
<list_reverseiterator object at 0x0000000002D9B100>?!这是啥呀!(其实是个迭代器)
然后在list()一下
>>> b = list(b)
>>> b

这样一来,b就成为了我们需要的列表
因此可见,reversed是有返回值的(别忘了list()一下)
而reverse呢
>>> a =
>>> b = a.reverse()
>>> b
>>> print(b)
None
看到啦没有!reverse是没有返回值的!
因此b是None!
页: [1]
查看完整版本: 列表翻转