reversed函数返回的是什么,reversed函数默认升序还是降序

  reversed函数返回的是什么,reversed函数默认升序还是降序

  列表。反转(

  计算机编程语言的反向()是列表的内置方法,没有参数,也没有返回值。

  反向) )会改变列表(就地反转),因此不需要返回值。

  词典(字典)元组)和字符串(str)中没有反向) )方法。调用将返回异常。

  帮助(list.reverse)。

  帮助方法描述符:

  反转(…).

  我。反向-反向*原地*

  例如:

  我=[ 1,2,3,4,5 ]

  反转().

  我

  [5、4、3、2、1]

  t=(2、3、4、5、6))。

  t.reverse())。

  跟踪后退(mostrecentcalllast):

  文件,第一行,在

  t.reverse())。

  属性错误:"元组" objecthasnoattribute "反向"

  s=python

  反转()。

  跟踪后退(mostrecentcalllast):

  文件,第一行,在

  反转()。

  属性错误:" str " objecthasnoattribute " reverse "

  d={a:1, b:2}

  反向的。

  跟踪后退(mostrecentcalllast):

  文件,第一行,在

  反向的。

  属性错误:“字典”对象没有属性“反转”

  2 .反转(序列).

  参数是列表、元组和字符串,不更改原始对象。

  函数是反转序列对象,然后从后向前反转其元素以构建新的迭代程序。迭代器的意思是只能在循环中输出。

  a=返回(范围) 10 )传递到范围对象

  a#型成为迭代器

  列表(甲)百分之五十。

  [9、8、7、6、5、4、3、2、1、0]

  a=[a , b , c , d]

  a

  [a ,b ,c ,d]

  恢复(一)#接收列表对象

  b=反转(一) ) )

  b#型成为迭代器

  是列表(二)

  [d , c , b , a]

  如果参数不是序列对象,则必须定义__已反转_ _方法。

  #类型学生没有定义__已反转_ _方法

  类学生:

  def__init__(self,name,*args):

  self.name=name

  self.scores=[]

  forvalueinargs:

  self.scores.append(值)

  a=学生(鲍勃,78,85,93,96)).

  无法反转(一)实例)

  跟踪后退(mostrecentcalllast):

  文件,第一行,在

  反转(甲)百分之五十。

  type error:argumenttorinvorved()必须是一个序列

  类型(分数)#列表类型

  #重新定义类型并定义__已反转_ _方法

  类学生:

  def__init__(self,name,*args):

  self.name=name

  self.scores=[]

  forvalueinargs:

  self.scores.append(值)

  def__reversed__(自身) :

  自我。分数=反转(自我。分数)).

  a=学生(鲍勃,78,85,93,96)).

  答。分数#列表类型

  [ 78、85、93、96 ]

  类型(分数).

  反转(一)#实例现在可以反转

  答。分数#反转后,类型变为迭代器

  类型(分数).

  列表(分数).

  [ 96,93,85,78 ]

  不用看

  2.1官方文档

  序列中,反转(方法或支持的序列协议对象(__len__))方法和__getitem__)方法的整数参数从0开始

  returnreverseiterator。seqmustbeanobject,它具有_ _ reversed _(methodorsupportthesequenceprotocol(the _ _ loched)_ _ getitem _ _()methowithegengerarguments从0开始)。

  2.2例

  我=[ 1,2,3,4,5 ]

  ii=反转(一) )

  二

  福雷尼:

  print(a,end= )

  12345

  forainii:

  print(a,end= )

  54321

  #第二次遍历为空

  forainii:

  print(a,end= )

  其他类型为元组,字符串方法与上述相同。

  问题

  为什么在反转(之后是第二个为循环、第二个列表),第二个元组)或第二个加入)中获得的结果为空?

  答案:

  因为陆线(座机的缩写)不是反转列表本身,而是监听器。因此,当wmddp首次调用列表陆上通信线(座机)时,将创建一个新列表,以从项目中输出迭代器。当wmddp第二次运行时,ll还是原始迭代器,已经经历了所有项目,所以它没有重复任何操作,而是列出了一个空列表。

  所以当你第一次调用(ll)的时候,它不会调用任何东西,导致一个空的列表。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: