当前位置: 首页 > news >正文

python中的sort使用

目录

sort()使用

排序处理

升序由小到大排序:

sort与sorted

总结

降序由大到小排序:

key 参数详解

   按字符串长度升序排序

 按字符串第二个字符排序


sort()使用

list.sort(key=None, reverse=False)
  • 功能:对列表原地排序(直接修改原列表,不返回新列表)。

  • 参数

    • key:指定排序规则(如按字符串长度、按某个字段等)。

    • reverse:是否降序排序(默认False,即升序)。

排序处理

升序由小到大排序:

sort与sorted

  • sort()原地排序,即直接修改原列表,不返回任何值(返回None
nums = [3, 1, 4, 2]
nums.sort()  # 原地排序,nums变为[1, 2, 3, 4]
  •  sorted()返回一个新的排序后的列表原对象不会被修改
nums = [3, 1, 4, 2]
sorted_nums = sorted(nums)  # 返回新列表,nums不变
print(sorted_nums)  # 输出:[1, 2, 3, 4]
print(nums)         # 输出:[3, 1, 4, 2](原列表未变)

总结

方法修改原列表返回值适用对象示例
list.sort()None仅列表nums.sort(reverse=True)
sorted()新列表任意可迭代对象sorted(words, key=len)

降序由大到小排序:

sort(reverse=True)

nums = [3, 1, 4, 2]
nums.sort()  # 默认升序
print(nums)  # 输出:[1, 2, 3, 4]

nums.sort(reverse=True)  # 降序
print(nums)  # 输出:[4, 3, 2, 1]

key 参数详解

  key用于指定排序规则,通常是一个函数(如lambda或内置函数)

         (注:lambda是  是 Python 中的一种匿名函数(没有名字的函数))

   按字符串长度升序排序
  • l.sort(key=lambda x: len(x)):根据字符串长度进行升序排序。

  习题练习: 

                

n = int(input())
strings = input().split()

# 删除每个字符串的最后一个字符
processed = [s[:-1] for s in strings]

# 按长度排序
processed.sort(key=lambda x: len(x))

# 输出结果
print(' '.join(processed))
 按字符串第二个字符排序
words.sort(key=lambda x: x[1])  # 按第二个字母升序
print(words)  # 输出:['banana', 'apple', 'cherry'](a < p < h)

http://www.dtcms.com/a/113618.html

相关文章:

  • 在 macOS 上安装和配置 Aria2 的详细步骤
  • 【数学建模】(时间序列模型)ARIMA时间序列模型
  • tomcat的web三大组件Sciidea搭建web/maven的tomcat项目
  • grep命令: 过滤
  • 基于STM32与应变片的协作机械臂力反馈控制系统设计与实现----2.2 机械臂控制系统硬件架构设计
  • 自托管本地图像压缩器Mazanoke
  • (三)链式工作流构建——打造智能对话的强大引擎
  • 5天速成ai agent智能体camel-ai之第1天:camel-ai安装和智能体交流消息讲解(附源码,零基础可学习运行)
  • linux专题3-----linux上链接远程mysql
  • 深入理解Python元组:从基础到高级应用
  • xss攻击
  • NDK开发:开发环境
  • 2025-04-05 吴恩达机器学习4——逻辑回归(1):基础入门
  • 华为高斯(GaussDB)数据库中 Range、List、Hash三种分区方式 的完整SQL示例及增删改查操作,并附上总结对比表格
  • Linux内核引导内存分配器原理
  • 金仓数据库KCM认证考试介绍【2025年4月更新】
  • PgVectore的使用
  • REASONING THOUGHT和REASONING分别是什么意思,有什么区别
  • C语言:字符串
  • Baklib企业CMS的核心要素是什么?
  • 贪心算法之最小生成树问题
  • Sentinel实战(五)、系统保护规则、限流后统一处理及sentinel持久化配置
  • 多GPU训练
  • C++_类和对象(上)
  • 【简单数论】(模运算,快速幂,乘法逆元,同余,exgcd,gcd,欧拉函数,质数,欧拉筛,埃式筛,调和级数枚举,约数,组合数)
  • 4.4日欧篮联,NBA全扫盘,雷霆 vs 火箭单关预测已出
  • 来聊聊C++中的vector
  • C++学习之线程
  • [Android安卓移动计算]:新建项目和配置环境步骤
  • 力扣DAY35 | 热100 | LRU缓存