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调用商品服务 实现服务调用的负载均衡什么是负载均衡代码实现负载均衡增加一个服务提供者自定义实…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
