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

Python——列表排序和赋值

(1)列表排序:

列表排序方法
ls.sort()

对列表ls 中的数据在原地进行排序
ls = [13, 5, 73, 4, 9]
ls.sort()

在这里插入图片描述

ls.sort(reverse=False)

默认升序,reverse=True,降序
ls = [13, 5, 73, 4, 9]
ls.sort(reverse=True)

key指定排序时应用到每个参与排序元素上的规则
不影响列表中元素的值
ls.sort(key=None)

ls = ['73', '13', '9', '5', '04']
ls.sort()
ls.sort(key=int)
元素转整型做排序依据

在这里插入图片描述

默认升序,reverse=True,降序
ls.sort(key=None)

ls = ['app', 'Apple', 'at', 'AM']
ls.sort()
ls.sort(key=len)
ls.sort(key=str.lower)
print(ls)依据元素长度排序
依据元素小写字母

在这里插入图片描述

ls.reverse()
不比较元素大小,直接将列表ls中的元素逆序

my_list = ['12', '13', '14', '23']
my_list.reverse()
print(my_list)

在这里插入图片描述

内置排序函数
sorted(iterable)
reversed(seq)
创建新的排序或逆序对象
不改变列表中的原始数据的顺序
ls.sort(*, key=None, reverse=False)
ls.reverse()
不创建新对象,原地操作,无返回值

(2)内置排序函数

sorted(iterable,*, key=None, reverse=False)
根据可迭代对象参数iterable,返回一个新的排序后的列表
支持排序关键字参数key和反转参数reverse
返回值是排序后的列表

ls = [13, 5, 73, 4, 9]  
ls_sort = sorted(ls)

在这里插入图片描述

sorted(iterable)
参数不限于列表
可为字符串等可迭代对象

s = 'Python'
ls_sort = sorted(s, reverse=True)

在这里插入图片描述

reversed(seq)
返回一个将序列seq中的元素顺序反转的迭代器对象
用list()转为列表再查看反转结果

ls = ['73', '9', '13', '04']
ls1 = reversed(ls)
ls2 = list(ls1)
<list_reverseiterator object at 
0x0000022FC67A7040>

在这里插入图片描述

(3)列表的赋值与复制

1.赋值:
new = ls,对象的引用

  1. 浅拷贝:
    list.copy(),ls[:]拷贝父对象,不拷贝内部子对象
  1. 深拷贝:
    copy.deepcopy(ls),完全拷贝父对象和子对象

赋值
将列表直接赋值给另一个变量时,不产生新对象
一个列表对象两个标签

ls = [1, 2, 3]
new = ls
ls.append(4)

在这里插入图片描述

拷贝父对象,不拷贝内部子对象
原列表父对象更新不影响新列表
原列表可变类型元素更新影响新列表
list.copy()
ls[:]

ls = [2, [22, 33], ('a', 'c')]
ls2 = ls.copy()# 浅复制ls.append(4)# 只改
变原列表
ls[1].append(44)# 同时改变两个列表

在这里插入图片描述

递归拷贝到底的叫深拷贝
拷贝结果完全独立于原对象
原列表可变类型元素更新不影响新列表
copy.deepcopy(ls)

ls = [2, [22, 33], ('a', 'c')]
ls2 = copy.deepcopy(ls)  # 深复制
ls.append(4)  # 只改变原列表
ls[1].append(44)  # 只改变原列表
print(ls2)
(4)推导式

推导式又称解析式
从一个序列构建另一个新序列
一种集成了变换和筛选功能的函数

列表推导式
[x表达式for x in 列表if 条件表达式]
字典推导式
集合推导式
{x表达式for x in 集合if 条件表达式}
{(k,v)表达式for k,vin 字典if 条件表达式}

[x表达式for x in 列表if 条件表达式]
[(x, y表达式) for x in 列表1 for y in 列表2 if 条件表达式]
根据一个列表中的每个元素通过某种运算或筛选得到另
外一系列新数据,创建一个新列表

[x表达式for x in 列表if 条件表达式]
列表中的每个元素通过某种运算或筛选得
到另外一系列新数据,创建一个新列表

squares = []
for x in range(10):
squares.append(x ** 2)  
squares = [x ** 2 ]
for x in range(10)

[x表达式for x in 列表if 条件表达式]
for 前面表达式或函数,if后面加筛选条件

ls = [-4, -2, 0, 4]
ls1 = [x * 2 for x in ls]
# 列表元素乘2 [-8, -4, 0, 8]
ls3 = [x ** 2 for x in ls if x < 0]
# 正数元素平方[16, 4]
ls2 = [abs(x) for x in ls]
# 用abs()函数推导[4, 2, 0, 4]
print(ls1)
print(ls2)
print(ls3)

在这里插入图片描述

[x表达式for x in 列表if 条件表达式]
for 前面可以是函数

def fun(x):return x + x ** 2 + x ** 3z = [(i + 1, fun(i))for i in range(5)]
# 序号与函数值的组合print(z)

在这里插入图片描述

水仙花数是指一个3 位数每位上的数字的3 次幂之和等于
他本身,例如:153 = 13+ 53+ 33,称153是水仙花数。

for num in range(100, 1000):if num == sum([int(i) ** 3for i in str(num)]):print(num, end=' ')

在这里插入图片描述

相关文章:

Python——列表排序和赋值

&#xff08;1&#xff09;列表排序&#xff1a; 列表排序方法 ls.sort() 对列表ls 中的数据在原地进行排序 ls [13, 5, 73, 4, 9] ls.sort()ls.sort(reverseFalse) 默认升序&#xff0c;reverseTrue&#xff0c;降序 ls [13, 5, 73, 4, 9] ls.sort(reverseTrue)key指定排序时…...

python+pytest接口自动化(7)-cookie绕过登录(保持登录状态)

在编写接口自动化测试用例或其他脚本的过程中&#xff0c;经常会遇到需要绕过用户名/密码或验证码登录&#xff0c;去请求接口的情况&#xff0c;一是因为有时验证码会比较复杂&#xff0c;比如有些图形验证码&#xff0c;难以通过接口的方式去处理&#xff1b;再者&#xff0c…...

【连接池】什么是HikariCP?HikariCP 解决了哪些问题?为什么要使用 HikariCP?

文章目录什么是连接池什么是HikariCPHikariCP 解决了哪些问题&#xff1f;为什么要使用 HikariCP&#xff1f;HikariCP 的使用Maven支持数据库什么是连接池 数据库连接池负责分配、管理和释放数据库的连接。 数据库连接复用&#xff1a;重复使用现有的数据库长连接&#xff0…...

Tapdata Cloud 基础课:新功能详解之「微信告警」,更及时的告警通知渠道

【前言】作为中国的 “Fivetran/Airbyte”, Tapdata 是一个以低延迟数据移动为核心优势构建的现代数据平台&#xff0c;内置 60 数据连接器&#xff0c;拥有稳定的实时采集和传输能力、秒级响应的数据实时计算能力、稳定易用的数据实时服务能力&#xff0c;以及低代码可视化操作…...

【巨人的肩膀】JAVA面试总结(四)

&#x1f4aa;、JVM 目录&#x1f4aa;、JVM1、说一下JVM的主要组成部分及其作用2、什么是JVM内存结构&#xff08;谈谈对运行时数据区的理解&#xff09;3、堆和栈的区别是什么4、堆中存什么&#xff1f;栈中存什么&#xff1f;5、为什么不把基本类型放堆中呢&#xff1f;6、为…...

攒了一冬的甜,米易枇杷借力新电商走出川西大山

“绿暗初迎夏&#xff0c;红残不及春。魏花非老伴&#xff0c;卢橘是乡人。”苏轼文中的卢橘&#xff0c;就是枇杷&#xff0c;在苏轼看来&#xff0c;相较于姚黄魏紫&#xff0c;来自故乡四川的枇杷更为亲近。 四川省攀枝花市米易县是全国枇杷早熟产区之一&#xff0c;得益于…...

python-测试相关基础知识-补充

文章目录 1.面向对象1.1 基础概念1.2 面向对象关键字1.2.1 class关键字1.2.2 __init__初始化方法1.2.3 __del__销毁方法1.2.4 __str__输出字符串方法1.3 面向对象三大特点1.3.1 封装1.3.2 继承1.3.3 多态1.4 类属性和类方法1.5 静态方法2.文件操作2.1 文件基本操作2.2 按行读取…...

论文推荐:ScoreGrad,基于能量模型的时间序列预测

能量模型&#xff08;Energy-based model&#xff09;是一种以自监督方式执行的生成式模型&#xff0c;近年来受到了很多关注。本文将介绍ScoreGrad&#xff1a;基于连续能量生成模型的多变量概率时间序列预测。如果你对时间序列预测感兴趣&#xff0c;推荐继续阅读本文。 为什…...

RabbitMq(具体怎么用,看这一篇即可)

RabbitMq汇总1.RabbitMq的传统实现方式2.SpringAMQP简化RabbitMq开发2.1 基本消息队列&#xff08;BasicQueue&#xff09;2.2 工作消息队列&#xff08;WorkQueue&#xff09;2.3 发布订阅 -- 广播&#xff08;Fanout&#xff09;2.4 发布订阅 -- 路由&#xff08;Direct&…...

第九届蓝桥杯省赛 C++ A/B组 - 全球变暖

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;蓝桥杯题解集合 &#x1f4dd;原题地址&#xff1a;全球变暖 &#x1f4e3;专栏定位&#xff1a;为想参加蓝桥杯的小伙伴整理常考算法题解&#xff0c;祝大家…...

Leetcode.2359 找到离给定两个节点最近的节点

题目链接 Leetcode.2359 找到离给定两个节点最近的节点 Rating &#xff1a; 1715 题目描述 给你一个 n个节点的 有向图 &#xff0c;节点编号为 0到 n - 1&#xff0c;每个节点 至多 有一条出边。 有向图用大小为 n下标从 0开始的数组 edges表示&#xff0c;表示节点 i有一条…...

DCDC/LDO Auto-Discharge

1、概念 When using a capacitor with large capacity value in VOUT side, the VOUT pin voltage might not immediately fall to the ground level when the EN(CE,CONTROL) pin is switched from the active mode to the standby mode. By adding N-channel transistor to …...

linux 中的log

linux 中的log 由于内核的特殊性&#xff0c;我们不能使用常规的方法查看内核的信息。下面介绍几种方法。 1 printk()打印内核消息。 2 管理内核内存的daemon&#xff08;守护进程&#xff09; Linux系统当中最流行的日志记录器是Sysklogd&#xff0c;Sysklogd 日志记录器由…...

基于ubuntu的STM32嵌入式软件开发(四)——应用软件工程的修改、Makefile及编译脚本的编写

本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改&#xff0c;主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容&#xff0c;其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译&#xff0c;生成.bin和.hex的可烧录镜像文…...

MQTT协议分析

目录 一、前言 二、MQTT协议概述 概念 基本原理 MQTT协议的结构 MQTT的QoS机制 QoS 0&#xff1a;最多一次传输 QoS 1&#xff1a;至少一次传输 QoS 2&#xff1a;恰好一次传输 三、MQTT的应用场景 四、MQTT的优点和缺点 五、MQTT协议的实现 六、实战体验MQTT …...

基于树莓派4B设计的音视频播放器(从0开始)

一、前言 【1】功能总结 选择树莓派设计一款家庭影院系统,可以播放本地视频、网络视频直播、游戏直播、娱乐直播、本地音乐、网络音乐,当做FM网络收音机。 软件采用Qt设计、播放器引擎采用ffmpeg。 当前的硬件选择的是树莓派4B,烧写官方系统,完成最终的开发。 本篇文章主…...

MSF手机渗透实验(未成功)(CVE-2019-2215 Binder UA)

1. 前言 最近想利用metasploit对手机进行依次渗透实验。 通过查看最近三年的安卓漏洞&#xff0c;我对CVE-2019-2215这个漏洞很感兴趣。 幸运的是&#xff0c;metasploit里就有这个漏洞的攻击payload&#xff0c;于是我就开始试试了。 msf6 > search binderMatching Mod…...

系列十二、MySQL管理

一、系统数据库 Mysql数据库安装完成后&#xff0c;自带了一下四个数据库&#xff0c;具体作用如下&#xff1a;二、常用工具 2.1、mysql 2.1.1、概述 该mysql不是指mysql服务&#xff0c;而是指mysql的客户端工具。 2.1.2、语法 # 语法 &#xff1a; mysql [options] [dat…...

[游戏架构] 有限状态机的实际应用

什么是有限状态机 有限状态机&#xff08;Finite State Machine&#xff0c;简称FSM&#xff09;是一种常用的计算机科学中的建模工具&#xff0c;用于描述由离散状态和状态之间的转换组成的系统。它主要由一个有限的状态集合、一个初始状态、一个输入事件集合、状态之间的转换…...

【站外SEO】如何利用外部链接来提高你的网站排名

随着互联网的快速发展&#xff0c;越来越多的企业开始注重SEO优化&#xff0c;以提升自己的网站排名&#xff0c;增加流量和曝光度。 而站外SEO作为SEO的重要组成部分&#xff0c;对于提升网站排名具有不可忽视的作用。 站外SEO主要是通过外部链接来提高网站的排名。而GPB外链…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...

WebRTC调研

WebRTC是什么&#xff0c;为什么&#xff0c;如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...