python---3--sort、lambdalen(list1)、sorted_numbers = sorted(numbers)、list.sort()

学习目标:

  • lambda
  • len(list1)

  • sorted_numbers = sorted(numbers)
  • list.sort()

目录

学习目标:

学习内容:

匿名函数  lambda表达式

lambda [参数]: 函数

不需要return

len(list1)

sorted_numbers = sorted(numbers)

list.sort(key=None, reverse=False)

按照指定的函数排序----list.sort(key=函数)

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

1. 按照默认方式排序

2. 按照指定的函数排序

学习时间:

学习产出:


学习内容:

  1. lambda
  2. len(list1)

  3. sorted_numbers = sorted(numbers)
  4. list.sort()

匿名函数  lambda表达式

lambda [参数]: 函数

不需要return

len(list1)

sorted_numbers = sorted(numbers)

list.sort(key=None, reverse=False)

按照指定的函数排序----list.sort(key=函数)

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

my_list = [5, 2, 9, 1, 5]
my_list.sort()
print(my_list)
升序排列降序排列
my_list = [5, 2, 9, 1, 5]
my_list.sort(reverse=True)
print(my_list)1.自定义排序规则
sort()方法默认按升序排序,但有时你可能需要根据特定的规则进行排序。你可以使用key参数来指定一个函数,该函数将根据其返回的值来排序列表元素。例如,假设你有一个字符串列表,你想按字符串的长度进行排序
my_list = ["apple", "banana", "cherry", "date"]
my_list.sort(key=len)
print(my_list)2.多重排序
有时候,你可能需要在不同的字段上进行多次排序。你可以通过多次调用sort()方法来实现这一点,或者使用sorted()函数的key参数来进行多重排序。例如,假设你有一个包含学生姓名、年龄和分数的列表,你想首先按分数降序排序,然后按姓名升序排序:
students = [("Alice", 25, 95), ("Bob", 30, 88), ("Alex", 25, 92), ("Eve", 22, 95)]
students = sorted(students, key=lambda x: (-x[2], x[0]))
print(students)
这将首先按分数降序排序,然后按姓名升序排序。
代码解释
对一个包含学生信息的列表进行排序。这段代码使用了Python的sorted()函数,并传递了一个自定义排序键(key)函数,这个函数使用lambda表达式定义。现在,让我详细解释每一部分的作用:
students 列表包含了元组,每个元组都有三个元素:姓名、年龄和分数。
sorted() 函数用于对 students 列表进行排序。排序的方式是使用 key 参数指定的函数来确定每个元素的排序键。
lambda x: (-x[2], x[0]) 是一个匿名函数,也称为 lambda 函数。它接受一个参数 x,这里 x 代表了列表中的每个元组(姓名、年龄和分数)。lambda 函数返回一个元组,其中包含两个值:第一个值是分数的负数(-x[2]),第二个值是姓名 x[0]。
排序过程首先按照分数降序排序,也就是按照 (-x[2]) 的值排序。这意味着分数高的学生会在前面。
[("Alice", 25, 95), ("Eve", 22, 95), ("Alex", 25, 92), ("Bob", 30, 88)]
如果两个学生有相同的分数,那么它们将按照姓名升序排序(x[0])。这是在排序相同分数的学生时的第二个排序条件。
[("Alice", 25, 95), ("Eve", 22, 95), ("Alex", 25, 92), ("Bob", 30, 88)]
最后,通过 print(students) 将排序后的 students 列表输出到控制台。
所以,输出结果就是按照分数降序排列,如果分数相同,则按照姓名升序排列的学生列表。这个示例演示了如何进行多重条件的排序,以满足不同排序标准。三、再次进阶
或许有人问“假如我想按中文字的拼音排序,或者按姓名汉字的笔画多少排序,是否可以实现啊?”
是的,你可以实现按中文字的拼音或笔画排序。
1准备
要做到这一点,你需要使用Python的第三方库来进行中文排序。其中,cn_sort库可以帮助你实现这些需求。
首先,你需要安装名为'cn_sort'的Python库,它包含了用于按照中文词组的拼音和笔顺进行排序的功能。你可以使用pip来安装:
打开命令提示符
输入pip install cn_sort --upgrade2按拼音排序
from cn_sort.process_cn_word import sort_text_list, Mode
names = ["张三", "李四", "王五", "赵六"]
# 使用 cn_sort 库对中文姓名按拼音进行排序
sorted_names = list(sort_text_list(names, mode=Mode.PINYIN))
print(sorted_names)3按笔画排序
from cn_sort.process_cn_word
import sort_text_list, Modenames = ["张三", "李四", "王五", "赵六"]
# 使用 cn_sort 库对中文姓名按笔画进行排序
sorted_names = list(sort_text_list(names, mode=Mode.BIHUA))
print(sorted_names)提示1:为了方便,你可以复制文中的完整代码并在你的代码编译器中运行。
提示2:请特别注意Python的代码缩进。因正确的缩进,对于代码的理解至关重要,所以请确保代码块正确缩进,以避免错误。

sort() 函数是 Python 中用于对列表进行排序的内置函数。它可以按照升序或降序对列表中的元素进行排序。sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。

sort() 函数的基本语法如下:

```

list.sort(key=None, reverse=False)

```

其中,key 和 reverse 都是可选参数。key 是一个用于排序的函数,reverse 是一个布尔值,用于指定是否按降序进行排序。

1. 按照默认方式排序

如果不提供任何参数,sort() 函数会按照默认方式对列表进行升序排序。默认排序是根据元素的大小进行排序,对于数字类型的元素,按照从小到大的顺序排序;对于字符串类型的元素,按照字母的顺序进行排序。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

numbers.sort()

print(numbers) # 输出 [1, 2, 5, 8, 9]

fruits = ['apple', 'banana', 'orange', 'pear']

fruits.sort()

print(fruits) # 输出 ['apple', 'banana', 'orange', 'pear']

```

2. 按照指定的函数排序

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

示例代码如下:

```python

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

```

在这个例子中,我们定义了一个函数 get_length(),它返回一个单词的长度。然后我们使用这个函数作为 key 参数传递给 sort() 函数,这样列表中的元素会根据它们的长度进行排序。

3. 按照降序排序

如果想要按照降序排序,可以将 reverse 参数设置为 True。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

numbers.sort(reverse=True)

print(numbers) # 输出 [9, 8, 5, 2, 1]

```

在这个例子中,我们将 reverse 参数设置为 True,这样列表中的元素会按照从大到小的顺序进行排序。

需要注意的是,sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。如果想要获取一个新的排序后的列表,可以使用 sorted() 函数。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

sorted_numbers = sorted(numbers)

print(sorted_numbers) # 输出 [1, 2, 5, 8, 9]

print(numbers) # 输出 [5, 2, 8, 1, 9]

```

在这个例子中,我们使用 sorted() 函数对列表进行排序,并将排序后的结果赋值给 sorted_numbers。原列表 numbers 的顺序并没有改变。

总结一下,sort() 函数是 Python 中用于对列表进行排序的内置函数。它可以按照升序或降序对列表中的元素进行排序。sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。如果想要获取一个新的排序后的列表,可以使用 sorted() 函数。此外,sort() 函数还可以接受一个 key 参数,用于指定排序的依据。


学习时间:

学习时间为不运动的时候,作者咕咕了是去运动(无氧运动和有氧运动都做最好)了,请饶恕。


学习产出:

画工

python--2作业66,69,71,84;85;数据类型:int()float()TrueFalsestr()list()set()dict()tuple()class 

python--1作业,注释、输入输出、运算符、运算结果、三目运算符、关系表达、多值交换、偶数、随机数、三目运算、if、elif、else、while、for、break、contince、pass                                                                                                   http://t.csdnimg.cn/0KDeU


  计算机网络第1章:计算机网络的概念、组成与功能;计算机网络的分类、标准化工作及相关组织

                                                                                                       http://t.csdnimg.cn/uZOAM

计算机网络第一章:性能指标:带宽、时延、时延带宽积、RTT、吞吐量、速率、信道利用率

                                                                                                                                                                                                                           http://t.csdnimg.cn/avNeb

计算机网络体系结构——PDU、SDU、PCI、协议、访问、接口、SAP

                                                                                                          http://t.csdnimg.cn/x3Uar

 计算机网络分层结构——OSI/ISO、TCP/IP                                                                                                                                                   http://t.csdnimg.cn/hLrqY

 1章选择                                                                                          http://t.csdnimg.cn/cnmdJ

2章选择、解答                                                                                http://t.csdnimg.cn/ONrER

   通信基本概念:数据、信号、码元、信源、信道、信宿、速率、波特、带宽                                                                                                        http://t.csdnimg.cn/TKnyM

 数据、信号、码元、信源、信道、信宿、速率、波特、带宽-通信基本概念

                                                                                                         http://t.csdnimg.cn/Kc2e3

HCIA——30奈奎斯特定理、香农定理                                              http://t.csdnimg.cn/Yqtch

HCIA——20应用层:C/S、P2P、peer                                                                                                                                                                                       http://t.csdnimg.cn/4i4Og

HCIA——21C/S、P2P、peer的选择     

                                                                                                                                                                                                                          http://t.csdnimg.cn/4a11f                                                                

 DNS层次域名空间、域名服务器、域名解析的原理                        http://t.csdnimg.cn/yeWd6

 HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答                                                                                                                              http://t.csdnimg.cn/RXPNV 

 HCIA——24FTP 的工作原理、功能、TFTP、控制连接、数据连接

                                                                                                                                                                                                                    http://t.csdnimg.cn/9TPlw

HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答 

                                                                                                    http://t.csdnimg.cn/8GkAU

HCIA——26E-mall、MIME、POP3、IMAP、电子邮件系统的组成结构、电子邮件的发送,接收过程、MIME 与SMTP 的关系                                                  http://t.csdnimg.cn/smTaR

HCIA——27E-mall、MIME;POP3、IMAP的选择,解答 http://t.csdnimg.cn/xnsXP

 HCIIA——28HTTP、万维网、HTML;万维网的工作过程;HTTP 的特点——无连接-TCP、无状态-Cookie、非持久连接-非流水线和流水线;HTTP 的报文结构                                                                                                      http://t.csdnimg.cn/cRcxY

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

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

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

相关文章

ActiveMQ入门案例(queue模式和topic模式)

目录 前言:为什么使用消息中间件? 异步通信 缓冲 解耦 前提:安装并启动activemq 一、点对点(point to point, queue) 1.1 创建maven项目 1.2 Pom依赖 1.2 JmsProduce 消息生产者 1.3 JmsConsumer…

深入理解Java中Stream流常用方法及示例

深入理解Java中Stream流常用方法及示例 一、介绍二、举例说明1. filter方法2. map方法3. sorted方法4. forEach方法5. reduce方法6. collect方法7. flatMap方法8. anyMatch和allMatch方法9. findFirst和findAny方法10. skip和limit方法11. distinct方法 一、介绍 Java 8引入的…

背 单 词 (考研词汇闪过)

单词: 买考研词汇闪过 研究艾宾浩斯遗忘曲线 https://www.bilibili.com/video/BV18Y4y1h7YR/?spm_id_from333.337.search-card.all.click&vd_source5cbefe6dd70d6d84830a5891ceab2bf9 单词方法 闪记背两排(5min)重复一遍(2mi…

Pixel-GS:用于3D高斯溅射的具有像素感知梯度的密度控制

Pixel-GS: Density Control with Pixel-aware Gradient for 3D Gaussian Splatting Pixel-GS:用于3D高斯溅射的具有像素感知梯度的密度控制 Zheng Zhang  Wenbo Hu†  Yixing Lao   老宜兴市郑张文博胡 † Tong He  Hengshuang Zhao† 赵同和恒双 †1122113311 …

Web前端 Javascript笔记1

为什么学习 JavaScript? JavaScript 是 web 开发人员必须学习的 3 门语言中的一门: HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 控制了网页的行为 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面后,可由所有的现代浏…

BTS441RGATMA1 N沟道 43V 17A高侧电源开关芯片 英飞凌

BTS441RGATMA1是一款由Infineon Technologies制造的高侧开关电源芯片。 直 接 联 系 客 服 价 格 比 商 城 下 单 更 便 宜 BTS441RGATMA1具有以下功能: 高端电源开关:BTS441RGATMA1是一种N通道功率场效应晶体管(FET)&#xff…

图像处理与视觉感知---期末复习重点(7)

文章目录 一、图像压缩1.1 三种冗余1.2 模型1.3 信息测量 二、无误差压缩2.1 哈夫曼编码2.1.1 步骤2.1.2 例题 2.2 算术编码 三、变换编码 一、图像压缩 1.1 三种冗余 1. 三种基本的是数据冗余为:编码冗余、像素间冗余、心理视觉冗余。 2. 编码冗余:如果…

途游游戏,科锐国际(计算机类),快手,CVTE,得物,蓝禾,奇安信,顺丰,康冠科技,金证科技24春招内推

途游游戏,科锐国际(计算机类),快手,CVTE,得物,蓝禾,奇安信,顺丰,康冠科技,金证科技24春招内推 ①得物 【岗位】技术,设计,…

⭐Unity 里调用弹出电脑系统文件选择窗 (选择图片/文件)

今天遇到的需求要从Uinty里调用选择程序外的图片,类似手机环境下拿图库的照片一样。 效果如下: 话不多说 直接上代码! 1.编辑器模式下 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using Syst…

vue中预览docx、xlsx、pptx、pdf

前言:其实本来是要做全类型文件预览的,但是一直找不到合适的doc,xlx,ppt预览插件。要是有可以使用的,可以评论推荐给我 我使用的node版本:v18.19.1 参考官网:preview 文件预览 | ran 引入方式: //安装组…

瀑布流布局

瀑布流布局:瀑布流,又称瀑布流式布局,是比较流行的一种页面布局,视觉表现为参差不齐的多栏布局。 问题概述: 一次性生成,不需要再次增加,排序顺序由上倒下,由左到右 解决方案: //…

深度分析thinkphp类的自动加载

类的自动加载是框架中非常重要的特性,它允许你在使用类时无需手动包含或引入对应的文件。类的自动加载实现起来很简单,只需这样的一个函数spl_autoload_register就能实现。但框架都有各自的加载规范,并不是所有类都能被自动加载,因…

fatal: Need to specify how to reconcile divergent branches.

报错 hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hi…

最优算法100例之41-用两个栈实现队列

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 用两个栈实现队列 题解报告 stack<int> stack1; stack<int> stack2; void push(int node) {stack1.push(node);…

2024-4-11-arm作业

汇编实现三个灯的闪烁 源代码&#xff1a; .text .global _start _start: 时钟使能LDR r0,0x50000A28ldr r1,[r0]orr r1,r1,#(0x1<<4)str r1,[r0]设置PE10输出LDR r0,0x50006000ldr r1,[r0]bic r1,r1,#(0x3<<20)orr r1,r1,#(0x1<<20)str r1,[r0]设置PE1…

飞机降落蓝桥杯[2023蓝桥省赛B组]

2023蓝桥省赛B组 B题 飞机降落 题解 标准深搜板子题&#xff0c;难度不大 #include<bits/stdc.h> using namespace std; #define MAX 10 struct node{int t,d,l;//t:飞机到达时间 d:飞机最大盘旋时间 l:飞机降落所需时间bool v;//标记此架飞机是否被搜索过 用于剪枝 };…

OpenResty,Nginx实现接口验签与黑名单控制

介绍 nginx与openresty是两种优秀知名的7层负载均衡软件&#xff0c;nginx以其出色的性能和稳定性成为首选&#xff0c;而openresty则是在Nginx基础上构建的&#xff0c;支持嵌入Lua语言&#xff0c;大幅提升了开发效率。 安装OpenResty 版本 openresty-1.25.3.1-win64下载地…

brpc: bthread使用

使用bthread并发编程 #include <gflags/gflags.h> #include <butil/logging.h> #include <bthread/bthread.h>static void* func(void* args) {std::string* num static_cast<std::string*>(args);for(int i 0; i < 5; i) {LOG(INFO) << *…

mybatis的一对多

业务&#xff1a;通常主表从表 查询&#xff0c;一对多关系&#xff0c;通常是先查主表&#xff0c;然后拿主表的 关联字段与从表关联。在代码中 通常用for 循环等方法给 从表的数据赋值&#xff0c;很麻烦&#xff0c;&#xff0c;&#xff0c;很麻烦。。。。 用mybatis的…

一个PDF文件含有多篇不同的内容,如何把这些内容分离出来?

一&#xff0c;PDF的含义 PDF&#xff0c;全称Portable Document Format&#xff0c;即便携式文档格式&#xff0c;是一种由Adobe Systems开发的文件格式&#xff0c;用于呈现文档&#xff0c;包括文本、图像、向量图形、字体、颜色、页面布局等&#xff0c;并可在不同的操作系…