当前位置: 首页 > 知识库问答 >
问题:

python3.x - Python 3.9.6 内建函数 reverse() 数值型序列降序操作异常?

巫马阳飙
2023-12-22

各位大佬好,我今天自学python的时候遇到了一个问题,就是使用python的内建函数reverse()对一个数值型序列进行降序操作,本人使用的python版本3.9.6
首先我定义了一个序列

a = [3,2,1,1,3,4]a.reverse()print(a)

预期结果: [4,3,3,2,1,1]
实际结果如图
然后我对原序列进行升序,a.sort()
结果符合预期 [1,1,2,3,3,4]
然后我在对该序列进行降序a.reverse()
此时输出的结果才是符合预期的
我不知道是为什么,为什么定义序列后直接使用升序的sort()是没问题的,但是直接用降序reverse()就有问题?求前辈们解惑(我也看不到python的reverse()源码)

命令行框口和pycharm都尝试过,结果都一样,怀疑是pyhton3.9.6的版本bug

共有3个答案

东方飞捷
2023-12-22

reverse 是反序,不是降序

图片.png

https://docs.python.org/3/tutorial/datastructures.html

吕越彬
2023-12-22

image.png

杜俊晤
2023-12-22

记混了
https://docs.python.org/zh-cn/3.9/library/stdtypes.html?highl...
image.png
image.png

 类似资料:
  • chunk Note: 该内建函数从 FreeMarker 2.3.3 版本开始存在。 该内建函数将序列分隔为多个序列,长度为第一个参数给定的值 (比如 mySeq?chunk(3))。结果是包含这些序列的一个序列。 最后一个序列可能比给定的长度要小,除非第二个参数也给定了 (比如 比如 mySeq?chunk(3, '-')), 这就是用来填充最后一个序列,以达到给定的长度。例如: <#assi

  • 问题内容: 在Python的最新版本中,将 键 函数传递到以前的 cmp 函数的举动,使我对某些对象执行复杂的排序变得更加棘手。 例如,我想用一组字符串平局决胜者字段对一组对象从最新到最旧进行排序。因此,我希望日期按相反的顺序排列,但字符串按其自然顺序排列。使用比较功能,我可以将日期字段与字符串字段的比较结果取反。但是,通过键功能,我需要找到某种方法来反转/反转日期或字符串。 处理数字很容易(虽然

  • 注意:有些函数与 Python2.x 变化不大,会直接跳转到 Python2.x 教程下的内置函数说明,大家要注意下哈。 内置函数 abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input()

  • reverse 返回一个与指定list相反顺序的list。 val unsortedList = listOf(3, 2, 7, 5) assertEquals(listOf(5, 7, 2, 3), unsortedList.reverse()) sort 返回一个自然排序后的list。 assertEquals(listOf(2, 3, 5, 7), unsortedList.sort())

  • 下表列出了XQuery提供的常用序列函数,它们如下所示 - 序号 名称 描述 1 count($seq as item()*) 计算序列中的项目数量。 2 sum($seq as item()*) 返回序列中数据项的总和。 3 avg($seq as item()*) 返回序列中数据项的平均值。 4 min($seq as item()*) 返回序列中数据项的最小值。 5 max($seq as

  • 问题内容: 有没有什么简便的方法可以按降序对数组进行排序,就像它们在Arrays类中如何按升序排序? 问题答案: 你可以使用它对所有对象进行排序 不能直接用于降序对原始数组进行排序。如果尝试Arrays.sort()通过传递由定义的反向 来调用该方法,则会抛出错误 找不到适合sort(int [],comparator)的方法 可以与“对象数组”(例如整数数组)一起使用,但不能与基本数组(例如整数