Python--列表简介

news/2024/12/22 15:19:05/

列表是什么

列表让你能够在⼀个地方存储成组的信息,其中既可以只包含几个元素,也可以包含数百万个元素。列表是新手可直接使用的最强大的Python 功能之⼀。

列表(list)是一种可变的序列类型,用于存储一系列有序的元素。这些元素可以是任何类型,包括整数、浮点数、字符串、其他列表(即嵌套列表)等。列表是动态的,可以在运行时增加或删除元素。

用方括号([ ])表示列表,用逗号分隔其中的元素。

下面是⼀个简单的示例

students = ['刘备','曹操','孙权']  
print(students)  

1.访问列表元素

使用索引(从0开始)来访问列表中的元素。
例如输出第一个学生的姓名

students = ['刘备','曹操','孙权']
print(students[0])

通过索引获取列表元素时,只返回该元素,而不包括方括号[ ].

2.索引从0开始而不是1开始

在 Python 中,列表第一个元素的索引是 0,而不是 1,大多数编程语言都是如此 。

students = ['刘备', '曹操', '孙权']
print(students[0])  #输出第一个元素
print(students[1])  #输出第二个元素
print(students[2])  #输出第三个元素

python为访问最后的元素提供了一种特殊的语法。通过将索引指定为-1,可让 Python 返回最后⼀个列表元素:


students = ['刘备', '曹操', '孙权']
print(students[-1]) #访问最后一个元素

这种语法在不知道列表长度的情况下访问最后的元素非常好用。当然它也适用于其他负数索引,例如,索引 -2 返回倒数第⼆个元素,索引 -3 返回倒数第三个元素,依此类推。

students = ['刘备', '曹操', '孙权'] 
print(students[-1]) #访问倒数第一个元素 
print(students[-2]) #访问倒数第二个元素 
print(students[-3]) #访问倒数第三个元素 

-1索引表示倒数第1个元素,-2索引表示倒数第2个元素,…-n索引表示倒数第n个元素,因为-0就是0索引表示第1个元素。

3.使用列表中的各个值

你可以像使用其他变量⼀样使用列表中的各个值。例如,可以使用 f 字符串根据列表中的值来创建消息。
下面尝试从列表中提取第⼀个同学,并使用这个值创建⼀条消息:

nums = [1, 2, 3, 4, 5]
x = nums[0] + nums[-1]  #第1个元素+最后一个元素
print(x)

4.常见错误

在刚使用列表是容易出现索引错误,例如只有三个元素,却访问3号索引第四个元素

students = ['刘备', '曹操', '孙权']
print(students[3])

list index out of range : 列表索引超出范围

3.2 修改,添加和删除元素

列表(list)是一种可变的序列类型,这意味着列表创建后,将随着程序的运行修改,添加或者删除元素。
例如,你可能创建了⼀个游戏,要求玩家消灭从天而降的外星人。为此,可在开始时将外星人存储在列表中,每当有外星人被消灭时,将其从列表中删除,而每次有新的外星人出现时,将其添加到列表中。在整个游戏运行期间,外星人列表的长度将不断变化。

1.修改元素

通过列表名和索引指定具体元素,再指定该元素的新值。

列表名[索引] = 新值

students = ['刘备', '曹操', '孙权']
students[0] = '诸葛亮' #把第1个学生改为诸葛亮

2.添加元素

python提供多种在列表中添加元素的方式。

2.1 在列表末尾添加元素

使用追加append()方法将元素添加到列表末尾。

students = ['刘备', '曹操', '孙权']
print(students)
students.append('张飞') #在列表的末尾添加'张飞'
print(students)

append() 方法让动态创建列表易如反掌。你可以先创建⼀个空列表,再使用append() 添加元素。
这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道在程序中需要存储哪些数据。

students = []  #创建一个空列表
#下面模拟程序运行中添加元素
students.append('刘备') #添加刘备到列表尾
students.append('曹操') #添加曹操到列表尾
students.append('孙权') #添加孙权到列表尾
students.append('张飞') #添加张飞到列表尾
print(students)

2.2 插入元素

使用insert() 方法可在列表指定的索引处插入新元素。

insert(索引,新元素)

students = ['刘备', '曹操', '孙权']
print(students)
students.insert(0, '张飞') #在列表的开头添加'张飞'
print(students)

3.删除元素

1.使用del删除元素
如果知道要删除的元素在列表中的位置,可使用del 语句:

students = ['刘备', '曹操', '孙权']
print(students)
del students[1] #删除曹操
print(students)

使用 del 语句删除了列表 students 中的第二个元素"曹操",结果如下:
使用 del 语句将元素从列表中删除后,你就无法再访问它了。

2.使用pop方法删除元素

pop(索引),删除索引位置的元素,不给索引则删除末尾元素
你如果只需要删除列表的末尾元素,可以使用pop函数。

students = ['刘备', '曹操', '孙权']
print(students)
s = students.pop() #不指定索引,删除的是最后一个 
print(students)
print(f"刚删除的学生是:{s}")

当然利用pop方法,也可以删除任意元素

students = ['唐僧', '孙悟空', '猪八戒','沙悟净']
print(students)
s = students.pop(1) #删除指定索引元素'孙悟空'
print(students)
print(f"刚删除的学生是:{s}")

pop删除的元素可以被变量接收然后再使用

该使用 del 语句还是 pop() 方法,下面是⼀个简单的判断标准:
如果要从列表中删除⼀个元素,且不再以任何方式使用它,就使用 del 语句;

如果要在删除元素后继续使用它,就使用 pop() 方法。

根据值删除元素

如果不知道删除值的索引位置,只知道要删除的元素的值,可使用 remove() 方法。
remove( 要删除的值 )

students = ['唐僧', '孙悟空', '猪八戒','沙悟净'] 
print(students) 
students.remove('猪八戒') 
print(students) 

注意:remove() 方法只删除第⼀个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环,确保将每个值都删除


本篇完!


http://www.ppmy.cn/news/1522179.html

相关文章

【全网首发】2024数学建模国赛C题39页word版成品论文【附带py+matlab双版本解题代码+可视化图表】

基于优化模型的农作物的种植策略 完整版成品py(matlab)代码解题在下面获取: 点击链接加入群聊【2024数学建模国赛资料汇总】:http://qm.qq.com/cgi-bin/qm/qr?_wv1027&klZncBILk30DuPRI1Bd8X-3Djv7ZVZyAv&authKeykKqNSS…

久久派安装启用USB摄像头(基于node-red)

久久派安装启用USB摄像头(基于node-red) 功能演示1、安装必要的节点2、程序讲解1、启动摄像头2、关闭摄像头3、获取久久派IP4、在UI界面显示摄像头内容5、摄像头抓拍 3、部署 文中所需网盘资料及讲解视频在文章末尾哦1。 本章使用的摄像头插件请参考久久…

4、Django Admin对自定义的计算字段进行排序

通常,Django会为模型属性字段,自动添加排序功能。当你添加计算字段时,Django不知道如何执行order_by,因此它不会在该字段上添加排序功能。 如果要在计算字段上添加排序,则必须告诉Django需要排序的内容。你可以通过在…

Qt/C++ 个人开源项目#串口助手(源码与发布链接)

一、项目概述 该串口助手工具基于Qt/C开发,专为简化串口通信调试与开发而设计,适合新手快速上手。工具具有直观的用户界面和丰富的功能,旨在帮助用户与串口设备建立可靠通信,便于调试、数据传输和分析。 二、主要功能 波特率&a…

Flutter集成Firebase中的 A/B Testing

前提 完成Flutter集成Firebase中的远程配置流程 A/B Test的使用流程 我们先通过远程配置设置变量,应用程序根据变量值展示不同的界面创建一个A/B Test实验,在实验中创建满足条件的用户才能加入到这个实验中,并且在A/B 实验中修改远程配置变…

shell 学习笔记:变量、字符串、注释

目录 1. 变量 1.1 定义使用变量 1.2 变量命名规则 1.3 只读变量 1.4 删除变量 1.5 变量类型 1.5.1 字符串变量 1.5.2 整数变量 1.5.3 数组变量 1.5.3.1 整数索引数组 1.5.3.2 关联数组 1.4 环境变量 1.5 特殊变量 2. 字符串 2.1 单引号字符串 2.2 双引…

使用NetBackup GUI 图形化进行oracle备份和恢复

转载 一、环境介绍: 这个实验都是在vmware workstation里完成的。由于NetBackup7只能装在64位的系统上,所以这里采用了64位的rhel5.5系统,以及oracle 10gr2 for linux_x64的软件包。数据库的数据文件存储在ASM中。安装rhel、oracle、netback…

C++字符串中的string类操作

愿我如星君如月,夜夜流光相皎洁。 ——《车逍遥篇》【宋】范成大 目录 正文: 主要特点: 基本操作: 代码演示: 总结: 今天我们接着上次的章节继续,这次我们来说一个为解决上个方法的缺陷而诞…