Python学习:列表
Python 列表概念
在Python中,列表(List)是一种有序、可变、允许重复元素的数据结构。列表使用方括号 []来表示,可以包含任意类型的元素,如整数、字符串、列表等。

Python 访问列表中的值
在Python中,要访问列表中的值,你可以使用索引和切片。以下是一些例子:
- 使用索引访问单个值:
你可以使用列表的索引来访问单个元素。索引从0开始,负数索引表示从列表末尾开始逆向索引。
my_list = ['apple', 'banana', 'cherry', 'date']print(my_list[0]) # 输出:'apple'
print(my_list[2]) # 输出:'cherry'
print(my_list[-1]) # 输出:'date'
- 使用切片访问多个值:
你可以使用切片操作访问列表中的多个元素,语法为list[start:stop:step],如果不指定start或stop,将从开头或结尾开始切片。
print(my_list[1:3]) # 输出:['banana', 'cherry']
print(my_list[:2]) # 输出:['apple', 'banana']
print(my_list[2:]) # 输出:['cherry', 'date']
print(my_list[::2]) # 输出:['apple', 'cherry']
- 遍历列表中的值:
可以使用for循环遍历列表中的所有值。
for item in my_list:print(item)
Python 更新列表

在Python中,你可以使用多种方式来更新列表,包括添加元素、修改元素、删除元素等操作。以下是对每种操作的详细解释:
-
添加元素:
-
使用
append()方法在列表末尾添加一个元素。这个方法会将指定的元素追加到列表的末尾。my_list = [1, 2, 3] my_list.append(4) # 在列表末尾添加元素4 print(my_list) # 输出:[1, 2, 3, 4] -
使用
extend()方法添加一个可迭代对象的元素到列表末尾。可迭代对象可以是一个列表、元组、集合等。my_list = [1, 2, 3] my_list.extend([4, 5]) # 在列表末尾添加可迭代对象[4, 5] print(my_list) # 输出:[1, 2, 3, 4, 5] -
使用加号运算符(
+)合并两个列表。my_list1 = [1, 2, 3] my_list2 = [4, 5] new_list = my_list1 + my_list2 # 合并两个列表 print(new_list) # 输出:[1, 2, 3, 4, 5]
-
-
修改元素:
要修改列表中的元素,你可以通过索引直接赋值为新的元素。
my_list = [1, 2, 3] my_list[1] = 4 # 修改索引为1的元素为4 print(my_list) # 输出:[1, 4, 3] -
删除元素:
-
使用
remove()方法删除列表中指定值的元素。如果有多个相同值的元素,它只会删除第一个出现的。my_list = [1, 2, 3] my_list.remove(2) # 删除值为2的元素 print(my_list) # 输出:[1, 3] -
使用
pop()方法删除索引指定的元素,并返回被删除的元素。如果不传递索引,默认删除最后一个元素。my_list = [1, 2, 3] popped_elem = my_list.pop(1) # 删除索引为1的元素 print(popped_elem) # 输出:2 print(my_list) # 输出:[1, 3] -
使用
del关键字删除指定索引的元素或删除整个列表。my_list = [1, 2, 3] del my_list[1] # 删除索引为1的元素 print(my_list) # 输出:[1, 3]del my_list # 删除整个列表 # print(my_list) # 报错:NameError: name 'my_list' is not defined
-
Python 列表脚本操作符
在Python中,列表支持多种脚本操作符,可以用于对列表进行复制、连接、重复等操作。以下是一些常用的列表脚本操作符:
-
加法运算符(
+):- 用于连接(合并)两个列表,生成一个新的包含两个列表元素的列表。
list1 = [1, 2, 3] list2 = [4, 5, 6] new_list = list1 + list2 print(new_list) # 输出:[1, 2, 3, 4, 5, 6] -
乘法运算符(
*):- 用于重复列表的元素,生成一个包含重复元素的新列表。
list3 = [1, 2, 3] repeated_list = list3 * 3 print(repeated_list) # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3] -
成员运算符(
in和not in):- 用于检查某个元素是否存在于列表中。
list4 = [1, 2, 3, 4, 5] print(2 in list4) # 输出:True print(6 not in list4) # 输出:True
Python 列表截取与拼接
在Python中,列表截取和拼接是常用的操作,可以用于获取列表的子集或合并多个列表。以下是对列表截取和拼接的详细解释:
列表截取:
你可以使用索引和切片来截取列表的子集。列表的索引从0开始,可以是负数(表示倒数第几个元素),切片通过start:end:step的方式指定范围。
my_list = [1, 2, 3, 4, 5]# 获取单个元素
print(my_list[0]) # 输出:1# 切片获取子列表
print(my_list[1:4]) # 输出:[2, 3, 4]
print(my_list[:3]) # 输出:[1, 2, 3]
print(my_list[2:]) # 输出:[3, 4, 5]
print(my_list[-3:]) # 输出:[3, 4, 5]# 使用步长获取间隔元素
print(my_list[::2]) # 输出:[1, 3, 5]# 获取列表的副本(深拷贝)
new_list = my_list[:] # 等同于 new_list = list(my_list)
列表拼接:
你可以使用加号运算符(+)来拼接两个或多个列表。拼接后将生成一个新的列表,包含所有被拼接的元素。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
concatenated_list = list1 + list2
print(concatenated_list) # 输出:[1, 2, 3, 4, 5, 6]
需要注意的是,列表拼接会生成一个新的列表,而不会修改原始列表。
Python 嵌套列表
在Python中,嵌套列表指的是将一个列表作为另一个列表的元素,形成多层次的嵌套结构。这种嵌套结构允许你在一个列表中存储更复杂的数据结构,例如列表的列表。以下是关于嵌套列表的一些示例和解释:
创建嵌套列表:
nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
上面的nested_list就是一个包含3个子列表的嵌套列表。每个子列表可以有不同长度,包含不同类型的元素。
访问嵌套列表的元素:
你可以使用多重索引来访问嵌套列表中的元素,每个索引对应一个层级。
nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
print(nested_list[0][1]) # 输出:2
print(nested_list[1][2]) # 输出:'c'
print(nested_list[2][0]) # 输出:True
遍历嵌套列表:
你可以使用嵌套循环来遍历嵌套列表中的元素。
nested_list = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
for inner_list in nested_list:for element in inner_list:print(element)
操作嵌套列表:
你可以向嵌套列表中添加新的子列表,或者修改已有的子列表的元素。
nested_list = [[1, 2, 3], ['a', 'b', 'c']]
nested_list.append([True, False]) # 添加新的子列表
nested_list[0][1] = 5 # 修改某个子列表中的元素
Python 列表比较
在Python中,你可以使用比较运算符对列表进行比较。下面是一些常用的列表比较方式:
-
相等性比较(
==和!=):- 用于检查两个列表是否相等或不相等。
list1 = [1, 2, 3] list2 = [1, 2, 3] print(list1 == list2) # 输出:True print(list1 != list2) # 输出:False -
大小比较(
<,<=,>,>=):- 可以按照字典顺序逐个元素比较两个列表的元素。从第一个开始比较,如果找到一个位置两个列表的元素不相等,则根据不等元素的比较结果确定整体列表的比较结果。
list3 = [1, 2] list4 = [1, 3] print(list3 < list4) # 输出:True,因为 2 < 3 -
成员身份测试(
in和not in):- 可以测试一个列表是否包含某个特定元素。
list5 = [1, 2, 3] print(2 in list5) # 输出:True print(4 not in list5) # 输出:True
注意,在Python中,列表比较是逐个元素进行比较的,如果两个列表的所有元素一一对应相等,则认为这两个列表相等,否则根据比较结果确定大小关系。
Python列表函数&方法
在Python中,列表(List)是一个非常常用且功能丰富的数据类型,具有许多内置的函数和方法可以对列表进行操作。以下是一些常用的列表函数和方法:
列表函数:
-
len(): 返回列表中元素的个数。my_list = [1, 2, 3, 4, 5] print(len(my_list)) # 输出:5 -
max(): 返回列表中的最大值。my_list = [10, 5, 8, 20] print(max(my_list)) # 输出:20 -
min(): 返回列表中的最小值。my_list = [10, 5, 8, 20] print(min(my_list)) # 输出:5 -
sum(): 返回列表所有元素的和(仅当列表内元素为数值型)。my_list = [1, 2, 3, 4, 5] print(sum(my_list)) # 输出:15
列表方法:
-
append(): 在列表末尾添加一个新元素。my_list = [1, 2, 3] my_list.append(4) print(my_list) # 输出:[1, 2, 3, 4] -
extend(): 将另一个列表中的元素逐个添加到当前列表的末尾。list1 = [1, 2] list2 = [3, 4] list1.extend(list2) print(list1) # 输出:[1, 2, 3, 4] -
insert(): 在指定位置插入一个元素。my_list = [1, 2, 3] my_list.insert(1, 5) print(my_list) # 输出:[1, 5, 2, 3] -
pop(): 移除并返回指定位置的元素(默认为最后一个元素)。my_list = [1, 2, 3] element = my_list.pop() print(element) # 输出:3 print(my_list) # 输出:[1, 2]
还有很多其他列表函数和方法可供使用。
关注我,不迷路,共学习,同进步
关注我,不迷路,共学习,同进步

相关文章:
Python学习:列表
Python 列表概念 在Python中,列表(List)是一种有序、可变、允许重复元素的数据结构。列表使用方括号 []来表示,可以包含任意类型的元素,如整数、字符串、列表等。 Python 访问列表中的值 在Python中࿰…...
C语言每日一题—判断是否为魔方矩阵
魔方矩阵 在魔方阵中,所有的行、列和对角线都拥有相同的和。例如:17 24 1 8 15 23 5 7 14 16 4 9 24 6 13 20 22 和 3 5 710 12 19 21 3 8 1 611 18 25 2 9 写一个程序读入一个二维整型数组并…...
Java数组新手冷知识
J a v a Java Java 中,数组是对象,当你将一个数组传递给方法时,你其实是传递了数组的引用(地址),而不是数组的副本。因此,在 m m m 方法中修改了数组 n n n 的内容后,这种改变在方…...
Linux——程序地址空间
我们先来看这样一段代码: #include <stdio.h> #include <unistd.h> #include <stdlib.h>int g_val 0;int main() {pid_t id fork();if(id < 0){perror("fork");return 0;}else if(id 0){ //child,子进程肯定先跑完,也…...
Linux编程4.9 网络编程-建立连接
1、TCP的连接与断开 三次握手与四次挥手 2、服务器端并发性处理 2.1 多进程模型 一个父进程,多个子进程父进程负责等待并接受客户端连接子进程: 完成通信,接受一个客户端连接,就创建一个子进程用于通信。 2.2 多线程模型 多线程服务器是…...
威胁检测与分析--云图大师
威胁检测与分析--云图大师 当 Internet 在 1960 年代创建时,被设想为一个革命性的计算机网络,供几千名研究人员使用。创建这个快速可靠的网络使用了许多资源,其开发人员考虑的安全措施主要是为了防止军事威胁和潜在的强大入侵者。 在那个时代…...
Python基础入门 --- 7.函数
Python基础入门 第七章: 7.函数 7.1 函数多返回值 按照返回值顺序,写对应顺序的多个变量接收,变量之间用逗号分隔,支持不同数据类型return def test_return():return 1,"hello", Truex, y, z test_return() print…...
第4周 Python程序流程控制刷题
单击题目,直接跳转到页面刷题,一周后公布答案。 B2050:三角形判断B2037:奇偶数判断B2039:整数大小比较P5711:闰年判断P5714:肥胖问题B2043:判断能否被 3,5,7…...
高亮搜索中的关键字怎么实现
在前端实现搜索关键字高亮,通常涉及到对页面上的文本内容进行操作,并使用CSS来改变这些内容的样式。以下是一个基本的步骤和示例,说明如何实现这一功能: HTML结构:首先,你需要在HTML中设置一个搜索框和一个…...
OpenCV系列文章目录(持续更新中......)
引言: OpenCV是一个开源的计算机视觉库,由英特尔公司开发并开源的一组跨平台的C函数和少量的C函数组成,用于实时图像处理、计算机视觉和机器学习等应用领域。OpenCV可以在包括Windows、Linux、macOS等各种操作系统平台上使用,具…...
【机器学习系列】M3DM工业缺陷检测部署与训练
一.基础资料 1.Git 地址 地址 2.issues issues 3.参考 参考 csdn 二.服务器信息 1.GPU 服务器 GPU 服务器自带 CUDA 安装(前提是需要勾选上)CUDA 需要选择大于 11.3 的版本登录服务器后会自动安装 GPU 驱动 2.CUDA 安装 GPU 服务器自带 CUDA CUDA 版本查看 3.登录信…...
西瓜书机器学习AUC与ℓ-rank(loss)的联系理解以及证明(通俗易懂)
前言 在学习到这部分时,对 ℓ-rank 以及AUC的关系难以理解透彻,在网上看到其他博主也并未弄明白,大家大多写自己的理解,我希望您在看完这篇文章时能够深刻理解这二者的关系,如果我的理解有误,希望您在评论…...
渔业安全生产综合管理指挥系统-航迹数据优化方案
文章目录 引言I 轨迹数据模型II 轨迹信息索引III 数据同步方案3.1 多服务器多表同步3.2 增量数据同步3.3 执行IV 配置ESV 团队建设5.1 前端(web GIS)5.2 后端(Java)see also引言 背景: 目前系统查询轨迹数据比较慢的原因是没有进行读写分离,轨迹数据的查询和写入都是SQL…...
发现数据之美:探索数据可视化的艺术与技术
摘要: 数据可视化是将抽象的数据转化为图形化表达的过程,它不仅可以让数据更加直观易懂,还能够揭示数据背后的模式、趋势和关联关系。本文将深入探讨数据可视化的重要性,并通过详细的实例演示如何运用常见的数据可视化工具和库,如Matplotlib、Seaborn和Plotly,为读者呈现…...
Flutter项目组件模块化开发的实践与搭建
在Flutter应用程序的开发中,组件模块化是一种非常重要的开发方式,它可以提高代码的可维护性、复用性和扩展性。本文将介绍如何在Flutter项目中搭建组件模块化开发的框架,并给出实际的实践示例。 1. 为什么需要组件模块化开发? 在…...
Flink:使用 Faker 和 DataGen 生成测试数据
博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…...
Json格式解析
文章目录 Json格式介绍python中json模块的使用 Json格式介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言…...
Java Day13 多线程
多线程 1、 方式一 Thread2、实现Runnable接口3、实现 Callable接口4、与线程有关的操作方法5、线程安全问题5.1 取钱案例5.2 线程同步5.2.1 同步代码块5.2.2 同步方法5.2.3 Lock锁 6、线程池6.2 创建线程池6.2.1 使用ExecutorService创建新任务策略6.2.2 使用Executors工具类创…...
以太坊的演变:EIP、ERC 概念以及革命性的 ERC20、ERC721 和 ERC115 标准
文章目录 一、EIP——以太坊发展的基石1.1 什么是EIP?1.2 历史背景:前身的 BIP1.3 EIP的重要性1.4 流程:从提案到实施 二、进入 ERC——以太坊内的标准化协议2.1 解读 ERC:以太坊征求意见2.2 ERC 标准的诞生和意义 三、聚焦 ERC20…...
B003-springcloud alibaba 服务治理 nacos discovery ribbon feign
目录 服务治理服务治理介绍什么是服务治理相关方案 nacos实战入门搭建nacos环境安装nacos启动nacos访问nacos 将商品微服务注册进nacos将订单微服务注册进nacos订单服务通过nacos调用商品服务 实现服务调用的负载均衡什么是负载均衡代码实现负载均衡增加一个服务提供者自定义实…...
MySQL中如何使用UPPER转大写字母_MySQL文本格式化函数
UPPER(str)仅接受一个字符串参数,将ASCII字母转为大写,非ASCII字符、数字、符号不变;传入NULL返回NULL;在WHERE中使用会导致索引失效,应优先通过校对规则(如utf8mb4_general_ci)实现大小写不敏感…...
当Dijkstra遇上multiset:手把手教你用C++实现可动态更新的‘双货币’最短路径系统
当Dijkstra遇上multiset:手把手教你用C实现可动态更新的‘双货币’最短路径系统 在现实世界的路径规划问题中,我们常常需要处理多种成本因素的动态变化。想象你正在开发一个旅游路线规划系统,用户不仅需要考虑传统交通费用,还需要…...
ChatGLM3-6B本地部署实测:RTX 4090D单卡支持8并发流式响应
ChatGLM3-6B本地部署实测:RTX 4090D单卡支持8并发流式响应 1. 项目概述 今天给大家分享一个让我眼前一亮的本地AI部署方案——基于ChatGLM3-6B-32k模型的智能对话系统。经过深度重构后,这个系统在RTX 4090D显卡上实现了8并发流式响应,真正做…...
告别光电编码器?聊聊MT6835磁编码器在直流无刷电机控制中的实战应用
告别光电编码器?MT6835磁编码器在直流无刷电机控制中的实战解析 在工业自动化与精密控制领域,电机位置反馈元件的选择往往直接影响系统性能和可靠性。传统光电编码器虽占据主流市场多年,但其对灰尘敏感、机械安装精度要求高等痛点始终困扰着工…...
别再瞎选启动盘格式了!用Rufus烧录Windows安装盘时,MBR和GPT到底怎么选?(附DiskGenius查看方法)
启动盘格式选择指南:MBR与GPT的终极决策逻辑 每次用Rufus制作Windows安装盘时,面对MBR和GPT两个选项,你是不是总在纠结该选哪个?这就像站在分叉路口,生怕选错方向耽误一整天。其实答案藏在你的硬件配置和使用场景里——…...
PetaLinux 2020.1安装后必做的三件事:环境变量、TFTP服务器与权限设置
PetaLinux 2020.1工程化部署三要素:环境变量、TFTP服务与权限管理 在嵌入式Linux开发领域,PetaLinux作为Xilinx官方提供的工具链,其安装只是万里长征的第一步。真正考验工程师功力的,是如何将裸装环境转化为稳定可靠的生产力工具。…...
工业视觉老鸟的避坑指南:指针仪表识别,为什么你的Hough检测总是不准?
工业视觉实战:指针仪表识别的五大核心挑战与高鲁棒性解决方案 在工业质检和设备监控领域,指针式仪表的自动识别一直是个看似简单实则暗藏玄机的问题。许多工程师在初步实现Hough变换检测后,往往会遇到晴天霹雳——测试时效果尚可的算法&#…...
基于深度确定性策略梯度的 PID 控制器实时自适应优化仿真研究(Matlab代码、Simulink仿真实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
告别双系统!用VMware把Ubuntu 20.10装进移动硬盘,打造随身开发环境
随身开发环境实战:用VMware将Ubuntu 20.10部署至移动硬盘的全方位指南 在咖啡厅调试代码时发现环境配置丢失,回家后又要重新配置依赖——这可能是开发者最头疼的场景之一。将完整开发环境塞进口袋随身携带,正成为越来越多技术工作者的刚性需求…...
CSS如何消除图片下方多余间隙_设置display-block改变盒模型
图片下方空白源于img默认inline导致的基线对齐;display:block最直接有效,vertical-align:middle等有兼容性与场景限制,font-size:0或line-height:0副作用大。图片下方空白是行内元素的基线对齐导致的默认情况下 <img> 是行内元素&#…...
