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

Python 列表操作指南3

示例,将新列表中的所有值设置为 ‘hello’:

newlist = ['hello' for x in fruits]

表达式还可以包含条件,不像筛选器那样,而是作为操纵结果的一种方式:

示例,返回 “orange” 而不是 “banana”:

newlist = [x if x != "banana" else "orange" for x in fruits]

列表对象具有 sort() 方法,默认情况下将对列表进行字母数字排序,升序排列:

示例,对列表按字母顺序排序:

thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)

示例,对列表按数字顺序排序:

thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)

要进行降序排序,请使用关键字参数 reverse = True:

示例,对列表进行降序排序:

thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse=True)
print(thislist)

示例,对列表进行降序排序:

thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse=True)
print(thislist)

您还可以通过使用关键字参数 key = function 来自定义自己的函数。该函数将返回一个数字,用于对列表进行排序(首先是最小的数字):

示例,根据数字距离 50 的接近程度对列表进行排序:

def myfunc(n):return abs(n - 50)thislist = [100, 50, 65, 82, 23]
thislist.sort(key=myfunc)
print(thislist)

默认情况下,sort() 方法区分大小写,这导致所有大写字母在小写字母之前排序:

示例,区分大小写的排序可能会导致意外结果:

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)

幸运的是,在对列表进行排序时,我们可以使用内置函数作为键函数。因此,如果您想要不区分大小写的排序函数,请使用 str.lower 作为键函数:

示例,执行不区分大小写的列表排序:

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key=str.lower)
print(thislist)

如果要反转列表的顺序,而不考虑字母表顺序,该怎么办?reverse() 方法将元素的当前排序顺序反转。

示例,反转列表项的顺序:

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)

您不能简单地通过键入 list2 = list1 来复制一个列表,因为:list2 将只是对 list1 的引用,对 list1 进行的更改也会自动在 list2 中进行。有多种方法可以进行复制,其中一种方法是使用内置的列表方法 copy()。

示例,使用 copy() 方法复制一个列表:

thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)

另一种复制的方法是使用内置的 list() 方法。

示例,使用 list() 方法复制一个列表:

thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)

在Python中,有多种方法可以连接两个或多个列表。其中一种最简单的方法是使用 + 运算符。

示例,连接两个列表:

list1 = ["a", "b", "c"]
list2 = [1, 2, 3]list3 = list1 + list2
print(list3)

另一种连接两个列表的方法是将 list2 中的所有项逐一附加到 list1 中:

示例,将 list2 附加到 list1:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]for x in list2:list1.append(x)print(list1)

或者您可以使用 extend() 方法,其目的是将一个列表的元素添加到另一个列表中:

示例,使用 extend() 方法将 list2 添加到 list1 的末尾:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]list1.extend(list2)
print(list1)

Python具有一组内置方法,您可以在列表上使用这些方法。

方法描述
append()在列表末尾添加元素
clear()移除列表中的所有元素
copy()返回列表的副本
count()返回具有指定值的元素数量
extend()将列表(或任何可迭代对象)的元素添加到当前列表的末尾
index()返回具有指定值的第一个元素的索引
insert()在指定位置添加元素
pop()移除指定位置的元素
remove()移除具有指定值的项目
reverse()颠倒列表的顺序
sort()对列表进行排序

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

相关文章:

Python 列表操作指南3

示例,将新列表中的所有值设置为 ‘hello’: newlist [hello for x in fruits]表达式还可以包含条件,不像筛选器那样,而是作为操纵结果的一种方式: 示例,返回 “orange” 而不是 “banana”: …...

三个要点,掌握Spring Boot单元测试

单元测试是软件开发中不可或缺的重要环节,它用于验证软件中最小可测试单元的准确性。结合运用Spring Boot、JUnit、Mockito和分层架构,开发人员可以更便捷地编写可靠、可测试且高质量的单元测试代码,确保软件的正确性和质量。 一、介绍 本文…...

【nginx】Nginx配置:

文章目录 一、什么是Nginx:二、为什么使用Nginx:三、如何处理请求:四、什么是正向代理和反向代理:五、nginx 启动和关闭:六、目录结构:七、配置文件nginx.conf:八、location:九、单页…...

CSS3与HTML5

box-sizing content-box:默认,宽高包不含边框和内边距 border-box:也叫怪异盒子,宽高包含边框和内边距 动画:移动translate,旋转、transform等等 走马灯:利用动画实现animation:from…...

redis的简单使用

文章目录 环境安装与配置redis发布-订阅相关命令redis发布-订阅的客户端编程redis的订阅发布的例子 环境安装与配置 sudo apt-get install redis-server # ubuntu命令安装redis服务ubuntu通过上面命令安装完redis,会自动启动redis服务,通过ps命令确认&a…...

Windows下启动freeRDP并自适应远端桌面大小

几个二进制文件 xfreerdp # Linux下的,an X11 Remote Desktop Protocol (RDP) client which is part of the FreeRDP project wfreerdp.exe # Windows下的,freerdp2.0 主程序,freerdp3.0将废弃 sdl-freerdp.exe # Windows下的&…...

ES6中的数值扩展

1. 二进制和八进制的表示法 二进制和八进制的前缀分别为0b(或0B)和0o(或0O)表示 在ES5的严格模式下,八进制不再允许使用前缀0表示 如果要将0b和0x前缀的字符串数值转为十进制,要使用Number方法 Number(0b111); // 7 Number(0o10); // 82. Number.isF…...

自定义注解实现Redis分布式锁、手动控制事务和根据异常名字或内容限流的三合一的功能

自定义注解实现Redis分布式锁、手动控制事务和根据异常名字或内容限流的三合一的功能 文章目录 [toc] 1.依赖2.Redisson配置2.1单机模式配置2.2主从模式2.3集群模式2.4哨兵模式 3.实现3.1 RedisConfig3.2 自定义注解IdempotentManualCtrlTransLimiterAnno3.3自定义切面Idempote…...

Linux:minishell

目录 1.实现逻辑 2.代码及效果展示 1.打印字符串提示用户输入指令 2.父进程拆解指令 3.子进程执行指令,父进程等待结果 4.效果 3.实现过程中遇到的问题 1.打印字符串的时候不显示 2.多换了一行 3.cd路径无效 4.优化 1.ll指令 2.给文件或目录加上颜色 代码链接 模…...

STM32驱动步进电机

前言 (1)本章介绍用stm32驱动42步进电机,将介绍需要准备的硬件器材、所需芯片资源以及怎么编程及源代码等等。 (2)实验效果:按下按键,步进电机顺时针或逆时针旋转90度。 (3&#xff…...

计算机视觉——飞桨深度学习实战-深度学习网络模型

深度学习网络模型的整体架构主要数据集、模型组网以及学习优化过程三部分,本章主要围绕着深度学习网络模型的算法架构、常见模型展开了详细介绍,从经典的深度学习网络模型以CNN、RNN为代表,到为了解决显存不足、实时性不够等问题的轻量化网络…...

用c动态数组(不用c++vector)实现手撸神经网咯230901

用c语言动态数组(不用c++的vector)实现:输入数据inputs = { {1, 1}, {0,0},{1, 0},{0,1} };目标数据targets={0,0,1,1}; 测试数据 inputs22 = { {1, 0}, {1,1},{0,1} }; 构建神经网络,例如:NeuralNetwork nn({ 2, 4,3,1 }); 则网络有四层、输入层2个nodes、输出层1个节点、第…...

视频讲解|基于DistFlow潮流的配电网故障重构代码

目录 1 主要内容 2 视频链接 1 主要内容 该视频为基于DistFlow潮流的配电网故障重构代码讲解内容,对应的资源下载链接为基于DistFlow潮流的配电网故障重构(输入任意线路),对该程序进行了详尽的讲解,基本做到句句分析和讲解(讲解…...

Ultralytics(YoloV8)开发环境配置,训练,模型转换,部署全流程测试记录

关键词:windows docker tensorRT Ultralytics YoloV8 配置开发环境的方法: 1.Windows的虚拟机上配置: Python3.10 使用Ultralytics 可以得到pt onnx,但无法转为engine,找不到GPU,手动转也不行&#xff0…...

springboot之@ImportResource:导入Spring配置文件~

ImportResource的作用是允许在Spring配置文件中导入其他的配置文件。通过使用ImportResource注解,可以将其他配置文件中定义的Bean定义导入到当前的配置文件中,从而实现配置文件的模块化和复用。这样可以方便地将不同的配置文件进行组合,提高…...

阿里云服务器免费申请入口_注册阿里云免费领4台服务器

注册阿里云账号,免费领云服务器,最高领取4台云服务器,每月750小时,3个月免费试用时长,可快速搭建网站/小程序,部署开发环境,开发多种企业应用。阿里云百科分享阿里云服务器免费领取入口、免费云…...

ES6中的async、await函数

async是为了解决异步操作,其实是一个语法糖,使代码书写更加简洁。 1. async介绍 async放在一个函数的前面,await则放在异步操作前面。async代表这个函数中有异步操作需要等待结果,在一个async函数中可以存在多个await&#xff0…...

代码随想录算法训练营第五十六天 | 动态规划 part 14 | 1143.最长公共子序列、1035.不相交的线、53. 最大子序和(dp)

目录 1143.最长公共子序列思路代码 1035.不相交的线思路代码 53. 最大子序和(dp)思路代码 1143.最长公共子序列 Leetcode 思路 本题和718. 最长重复子数组 区别在于这里不要求是连续的了,但要有相对顺序,即:“ace” …...

【数据挖掘】2021年 Quiz 1-3 整理 带答案

目录 Quiz 1Quiz 2Quiz 3Quiz 1 Problem 1 (30%). Consider the training data shown below. Here, A A A and B B B</...

【软件设计师-中级——刷题记录6(纯干货)】

目录 管道——过滤器软件体系结构风格优点&#xff1a;计算机英语重点词汇&#xff1a;单元测试主要检查模块的以下5个特征&#xff1a;数据库之并发控制中的事务&#xff1a;并发产生的问题解决方案:封锁协议原型化开发方法&#xff1a; 每日一言&#xff1a;持续更新中... 个…...

微信小程序点单左右联动的效果实现

微信小程序点单左右联动的效果实现 原理解析&#xff1a;   点击左边标签会跳到右边相应位置&#xff1a;点击改变rightCur值&#xff0c;转跳相应位置滑动右边&#xff0c;左边标签会跳到相应的位置&#xff1a;监听并且设置每个右边元素的top和bottom&#xff0c;再判断当…...

Socket通信

优质博文IT-BLOG-CN 一、简介 Socket套接字&#xff1a;描述了计算机的IP地址和端口&#xff0c;运行在计算机中的程序之间采用socket进行数据通信。通信的两端都有socket&#xff0c;它是一个通道&#xff0c;数据在两个socket之间进行传输。socket把复杂的TCP/IP协议族隐藏在…...

TCP 如何保证有效传输及拥塞控制

TCP&#xff08;传输控制协议&#xff09;可以通过以下机制保证有效传输和拥塞控制&#xff1a; 确认机制&#xff1a;TCP使用确认机制来保证数据的有效传输。发送方在发送数据的同时还会发送一个确认请求&#xff0c;接收方收到数据后会回复确认响应。如果发送方没有收到确认响…...

PyQt5+Qt设计师初探

在上一篇文章中我们搭建好了PyQt5的开发环境&#xff0c;打铁到趁热我们基于搭建好的环境来简单实战一把 一&#xff1a;PyQt5包模块简介 PyQt5包括的主要模块如下。 QtCore模块——涵盖了包的核心的非GUI功能&#xff0c;此模块被用于处理程序中涉及的时间、文件、目录、数…...

rust cargo

一、cargo是什么 Cargo是Rust的构建工具和包管理器。 Cargo除了创建工程、构建工程、运行工程等功能&#xff0c;还具有下载依赖库、编译依赖等功能。 真正编写程序时&#xff0c;我们不直接用rustc&#xff0c;而是用cargo。 二、使用cargo &#xff08;一&#xff09;使用…...

CANoe.Diva生成测试用例

Diva目录 一、CANoe.Diva打开CDD文件二、导入CDD文件三、ECU Information四、时间参数设置五、选择是否测试功能寻址六、勾选需要测试服务项七、生成测试用例 一、CANoe.Diva打开CDD文件 CANoe.Diva可以通过导入cdd或odx文件&#xff0c;自动生成全面的测试用例。再在CANoe中导…...

openGauss学习笔记-89 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用查询原生编译

文章目录 openGauss学习笔记-89 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用查询原生编译89.1 查询编译&#xff1a;PREPARE语句89.2 运行命令89.3 轻量执行支持的查询89.4 轻量执行不支持的查询89.5 JIT存储过程89.6 MOT JIT诊断89.6.1 mot_jit_detai…...

python获取时间戳

使用 datetime 库获取时间。 获取当前时间&#xff1a; import datetime print(datetime.datetime.now()) . 后面的是微秒&#xff0c;也是一个时间单位&#xff0c;1秒1000000微秒。 转为时间戳&#xff1a; import datetimedate datetime.datetime.now() timestamp date…...

2023年山东省安全员C证证考试题库及山东省安全员C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年山东省安全员C证证考试题库及山东省安全员C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大…...

Java中的Unicode字符编码与占用比特位解析

本文将详细介绍Java中Unicode字符编码与占用比特位的相关知识。我们将首先介绍Unicode字符集的基本概念&#xff0c;然后深入探讨Java中Unicode字符的编码方式以及占用比特位的特点。最后&#xff0c;我们将讨论一些特殊字符的编码情况&#xff0c;并给出一些在Java中处理Unico…...

邢台企业做网站找谁/佛山网站开发公司

本节书摘来异步社区《OpenGL ES 3.x游戏开发&#xff08;下卷&#xff09;》一书中的第2章&#xff0c;第2.7节&#xff0c;作者&#xff1a; 吴亚峰 责编&#xff1a; 张涛&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.7 固定渲染管线与可编程渲染管…...

如何在自己建设的网站上发表文章/长尾关键词有哪些

vueconf(2018hangzhou)大会刚刚过去&#xff0c;vue作者尤大大向我们展示了vue3.0的进展&#xff0c;并介绍vue3.0的一些改动&#xff0c;其中最令我期待的就是重写数据监听机制。 回顾vue2.x的双向数据绑定 谈起vue的双向数据绑定&#xff0c;我们首先能想到的就是ES5中Obje…...

大沥网站建设/如何提高百度搜索排名

下载和安装lua&#xff1a;&#xff08;转自这里&#xff09;1. 下载最新版的lua-5.2.0 请点击&#xff0c;然后使用tar -zxvf lua.xxxx 解压 2. 运行“终端”进入解压后的文件夹3.在“终端”输入 make macosx &#xff08;回车&#xff09;4.在“终端”输入 make tes…...

做调查可以赚钱的网站/域名注册人查询

此系列文章代码仓库在 https://github.com/johnlui/AutoLayout &#xff0c;有不明白的地方可以参考我的 Auto Layout 设置哦&#xff0c;下载到本地打开就可以了。 准备 上一篇文章中&#xff0c;我们共同进行了 Auto Layout 的初体验&#xff0c;在本篇我们将一起尝试用 Auto…...

个人是否做众筹网站/seo站长工具推广平台

一、SPS 相关概念&#xff1a; SPS即 “Sequence Paramater Set”&#xff0c;又称作序列参数集。 SPS中保存了一组编码视频序列(Coded video sequence)的全局参数。所谓的编码视频序列即原始视频的一帧一帧的像素数据经过编码之后的结构组成的序列。而每一帧的编码后数据所依赖…...

佛山做网站哪家好/网站批量查询

L2-算法基础-第07课 递推1, 2, 4, 8, 16 …… 数列的下一项是什么&#xff1f; 1, 2, 3, 5, 8 …… 数列的下一项是什么&#xff1f;递推递推就是指从已知的初始条件出发&#xff0c;依据某种递推关系&#xff0c;逐次推出所要求的各中间结果及最后结果。可用递推算法求解的问题…...