Python中的sort()与sorted()用法

Python中的sort()函数主要用于对列表(list)中的元素进行排序。它有两种形式:一种是列表的方法(即直接对列表对象调用),另一种则是内置的sorted()函数,它返回一个新的已排序列表,而不改变原始列表。

列表的sort()方法

使用列表的sort()方法时,它会直接修改原列表,使其元素按照升序(从小到大)排列。

基本用法

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
my_list.sort()  
print(my_list)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

参数

  • reverse=True:降序排序
  • key:用于比较的函数,例如按照字符串长度排序或按照元素的某个属性排序

示例

降序排序:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
my_list.sort(reverse=True)  
print(my_list)  # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

使用key参数:

假设我们有一个包含字典的列表,我们想要根据字典中的某个值进行排序:

data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}]  
data.sort(key=lambda item: item['age'])  
print(data)  
# 输出:[{'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}, {'name': 'Alice', 'age': 25}]

内置的sorted()函数

sorted()函数接受一个可迭代对象(如列表、元组等)作为输入,并返回一个新的已排序列表。原列表不会被修改。

基本用法

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
sorted_list = sorted(my_list)  
print(sorted_list)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]  
print(my_list)  # 输出:[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5],原列表未被修改

参数

sorted()函数的参数与sort()方法相同,包括reversekey

总之,sort()sorted()在功能上是相似的,主要区别在于前者会修改原列表,而后者会返回一个新的已排序列表。根据你的具体需求选择使用哪个函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

因为使用ArrayList.removeAll(List list)导致的机器重启

背景 先说一下背景,博主所在的业务组有一个核心系统,需要同步两个不同数据源给过来的数据到redis中,但是每次同步之前需要过滤掉一部分数据,只存储剩下的数据。每次同步的数据与需要过滤掉的数据量级大概在0-100w的数据不等。 由…

代码随想录算法训练营第三十四天| 1005.K次取反后最大化的数组和、134. 加油站、 135. 分发糖果

1005 题目: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组 可能的最大和…

ccf201512-1数位之和

charAt,与字符’0’,做差值。 import java.util.Scanner;public class Main3 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String num scanner.nextLine();char[] arr num.toCharArray();int sum 0;for(char c : arr){i…

tmux 替换 nohup

替换方案 tmux 训练PyTorch模型的时候一个基本步骤: [terminal]: tmux new -s model-ft # 创建一个会话,并设置会话名:model-ft [tmux]: conda activate your_env # 在tmux会话中,我们激活我们要使用的conda环境 [tmux]: pyth…

JVM_垃圾收集器

GC垃圾收集器 文章目录 GC垃圾收集器GC垃圾回收算法和垃圾收集器关系GC算法主要有以下几种四种主要的垃圾收集器SerialParallelCMSG1垃圾收集器总结查看默认垃圾收集器 默认垃圾收集器有哪些各垃圾收集器的使用范围部分参数说明 新生代下的垃圾收集器并行GC(ParNew)并行回收GC&…

【C++航海王:追寻罗杰的编程之路】探寻实用的调试技巧

目录 1 -> 什么是bug? 2 -> 调试是什么?有多重要? 2.1 -> 调试是什么? 2.2 -> 调试的基本步骤 2.3 -> Debug和Release的介绍 3 -> Windows环境调试介绍 3.1 -> 调试环境的准备 3.2 -> 学会快捷键…

:-1: error: Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set

qt报错 错误1 : error: Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isnt set 错误1 : error: Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn’t set bug的现象:qtcreator无法通过点击pro文件来打开项目 方法:参考 根据上面的参考,我么找到…

【React】React hooks 清除定时器并验证效果

React hooks 清除定时器并验证效果 目录结构如下useTime hookClock.tsx使用useTime hookApp.tsx显示Clock组件显示时间(开启定时器)隐藏时间(清除定时器) 总结参考 目录结构如下 useTime hook // src/hooks/common.ts import { u…

如何批量获取商品详情数据(淘宝1688京东商品采集示例)

批量获取商品详情数据,尤其是在淘宝、1688和京东这样的电商平台上,通常涉及到网络爬虫技术。然而,需要注意的是,这些平台都有自己的反爬虫机制,直接爬取可能会违反其使用条款,甚至可能触犯法律。因此&#…

三角测量法恢复深度

参考:单目vo中的深度确定方法--三角测量_单目相机三角测量-CSDN博客 方法一:直接法 由于我们已经通过本质矩阵分解或者单应矩阵分解获得了R与t,此时想求的是两个特征点的深度 bool depthFromTriangulation(const SE3& T_search_ref,co…

电脑开机提示“no bootable device”,无法进入系统

当您的Windows 10电脑开机时提示“no bootable device”,这意味着计算机无法找到一个可以启动操作系统的设备。这个问题通常与硬件连接、BIOS设置、硬盘问题、引导扇区故障或系统文件损坏等有关。以下是一系列详细的解决步骤: 检查硬件连接:关闭电脑,拔掉电源线,打开机箱检…

如何创建Windows下google Chrome便携版?

创建google Chrome便携版教程 准备工作: 1,下载GoogleChromePortable启动器 2,下载谷歌浏览器 3,下载7-ZIP 解压提取器 用7zip解压GoogleChromePortable,得到GoogleChromePortable.exe启动器 解压谷歌浏览器 用7…

Java入门基础day29

day29 内部类 分类 非静态成员内部类 静态成员内部类 局部内部类 匿名内部类 概念 在一个类的内部,再定义一个完整的类 特点: 编译之后可以生成一个独立的字节码class文件 内部类可以直接访问外部类的私有成员,而不会破坏其封装性 可以为外…

Flutter之TabBar篇

总结了一下项目中用到的几种TabBar,针对不同的样式,有采用系统提供的,也有三方插件提供的,也有自定义的,效果如下(后续如果遇到新的样式,会不间断地记录更新,避免重复造轮子…&#…

性能分析-数据库与磁盘知识

数据库 数据库,其实是数据库管理系统dbms。 数据库管理系统, 常见: 关系型数据库: mysql、pg、 库的表,表与表之间有关联关系; 表二维表统一标准的SQL(不局限于CRUD)非关系型数据…

ssm034学生请假系统+jsp

学生请假系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生请假系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处…

C++11 新特性:std::array

std::array是 C11 中引入的容器类型,它封装了固定大小的数组,提供了类似于 STL 容器的接口,同时保持了 C 风格数组的性能特性。 与普通数组相比,std::array更安全、更易于使用,并且支持迭代器。以下是std::array提供的…

-webkit-input-placeholder的意思

-webkit-input-placeholder是一个CSS伪类选择器,用于设置表单输入字段的占位文本样式。-webkit-input-placeholder是Webkit浏览器私有的前缀,用于适用于Webkit内核的浏览器(如Chrome和Safari)。 使用-webkit-input-placeholder&a…

鸿蒙HarmonyOS开发实例:【简单时钟】

简单时钟 介绍 本示例通过使用[ohos.display]接口以及Canvas组件来实现一个简单的时钟应用。 效果预览 主页 使用说明 1.界面通过setInterval实现周期性实时刷新时间,使用Canvas绘制时钟,指针旋转角度通过计算得出。 例如:"2 * M…

Microsoft Visio 参与者 [actor] - 人的形状图标

Microsoft Visio 参与者 [actor] - 人的形状图标 1. 更多形状 -> 搜索形状2. 参与者References 1. 更多形状 -> 搜索形状 2. 参与者 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/