Python 基础(九):列表

news2024/11/21 2:23:58

在这里插入图片描述

❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬

文章目录

  • 一、声明列表
  • 二、访问列表元素
  • 三、修改列表元素
  • 四、添加列表元素
    • 4.1、在列表末尾添加元素
    • 4.2、在列表中插入元素
  • 五、删除列表元素
    • 5.1、从列表中删除元素
    • 5.2、弹出列表末尾元素
    • 5.3、弹出指定索引位置的元素
    • 5.4、根据值删除列表元素
  • 六、常用方法和函数
    • 6.1、排序(sort 方法)
    • 6.2、临时排序(sorted 函数)
    • 6.3、反转(reverse 方法)
    • 6.4、列表长度(len 函数)
    • 6.5、清空列表(clear 方法)
    • 6.6、元素索引位置(index 方法)
    • 6.7、统计元素出现次数(count 方法)
    • 6.8、复制列表(copy 方法)
  • 七、遍历列表元素
    • 7.1、通过 for 循环遍历列表
    • 7.2、通过列表长度和 range 函数遍历列表
  • 系列文章
  • 热门专栏


大家好,我是水滴~~

本篇文章主要介绍 Python 中的列表 list,主要内容包括:声明列表、访问列表元素、修改列表元素、添加列表元素、删除列表元素、常用方法和函数、遍历列表元素。

列表(list)是由一系列按特定顺序排列的元素组成。在 Python 中,可以将任何类型的数据放入列表中,其中的元素之间也可以没有任何关系。

一、声明列表

在 Python 中,使用中括号 [] 声明一个列表,元素之间使用逗号 , 分隔。鉴于列表通常包含多个元素,给列表起名字时使用复数单词,如:names、companys。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

print(type(names))  # 打印 names 列表的类型

输出结果:

<class 'list'>

二、访问列表元素

列表是一个有序的集合,可以通过元素的索引(下标)来访问,例如:list_names[index]

  • 在列表中,元素的索引是从 0 开始,而不是从 1 开始;

  • 访问列表时不要超过列表的范围,否则会抛出异常:IndexError: list index out of range

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

print(names[0])  # 打印 names 列表中第一个元素
print(names[1])  # 打印 names 列表中第二个元素
print(names[2])  # 打印 names 列表中第三个元素

输出结果:

张三
李四
王五

三、修改列表元素

修改列表元素的语法与访问列表元素类似。通过索引获得列表的元素,再将其指定新的值即可。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

names[1] = "李四2"  # 更改 names 列表第 2 个元素的值
names[2] = "王五2"  # 更改 names 列表第 3 个元素的值

print(names)  # 打印 names 列表

输出结果:

['张三', '李四2', '王五2']

四、添加列表元素

4.1、在列表末尾添加元素

可以通过列表的 append() 方法添加新的元素。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

names.append('水滴')  # 在 names 列表末尾添加一个新的元素

print(names)  # 打印 names 列表

输出结果:

['张三', '李四', '王五', '水滴']

4.2、在列表中插入元素

可以通过列表的 insert() 方法在列表中插入元素,插入时需要指定索引位置,而指定的索引位置及右侧元素都会往右移一个位置。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

names.insert(1, '水滴')  # 在 names 列表索引 1 处插入元素

print(names)  # 打印 names 列表

输出结果:

['张三', '水滴', '李四', '王五']

五、删除列表元素

5.1、从列表中删除元素

可以通过 del 表达式删除指定索引位置的元素,右侧每个元素会左移一个位置。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

del names[0]  # 将 names 列表中索引 0 位置的元素删掉

print(names)  # 打印 names 列表

输出结果:

['李四', '王五']

5.2、弹出列表末尾元素

可以通过列表的 pop() 方法弹出(删除)列表末尾的元素,该方法会返回被弹出元素的值,可赋值给变量。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

name = names.pop()  # 将 names 列表末尾元素弹出(删除),并将弹出的元素赋值给 name 变量

print(names)  # 打印 names 列表
print(name)  # 打印 name 变量

输出结果:

['张三', '李四']
王五

5.3、弹出指定索引位置的元素

可以将 pop() 方法指定一个索引位置,会弹出指定位置的元素。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

name = names.pop(1)  # 弹出指定位置的元素,并将该元素赋值给 name 变量

print(names)  # 打印 names 列表
print(name)  # 打印 name 变量

输出结果:

['张三', '王五']
李四

5.4、根据值删除列表元素

有的时候,不知道要删除的元素位置,但如果知道元素的值的话,可以使用列表的 remove() 方法删除。

names = ["张三", "李四", "王五"]  # 声明一个名为 names 的列表

names.remove("李四")  # 删除 names 列表中值为“李四”的元素

print(names)  # 打印 names 列表

输出结果:

['张三', '王五']

六、常用方法和函数

上面已经介绍了部分方法和函数,Python 还提供了别的方法和函数,用于操作列表。

6.1、排序(sort 方法)

可以使用 sort() 方法对列表进行永久性排序。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

values.sort() # 对 values 列表进行排序

print(values) # 打印 values 列表

输出结果:

['v1', 'v2', 'v3', 'v4']

6.2、临时排序(sorted 函数)

可以使用 sorted() 函数对列表进行临时排序,该函数会生成一个新的列表,不会影响原列表的元素。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

temporary_values = sorted(values) # 对 values 列表进行临时排序

print(temporary_values)  # 打印 temporary_values 列表
print(values) # 打印 values 列表

输出结果:

['v1', 'v2', 'v3', 'v4']
['v2', 'v1', 'v4', 'v3']

6.3、反转(reverse 方法)

可以使用 revers() 方法将列表进行反转。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

values.reverse()  # 将 values 列表进行反转

print(values) # 打印 values 列表

输出结果:

['v3', 'v4', 'v1', 'v2']

可以结合 sort() 方法,实现列表的倒序排列。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

values.sort()  # 将 values 列表进行排序
values.reverse()  # 将 values 列表进行反转

print(values) # 打印 values 列表

输出结果:

['v4', 'v3', 'v2', 'v1']

6.4、列表长度(len 函数)

可以使用 len() 函数来获取列表的长度。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

print(len(values)) # 打印 values 列表的长度

输出结果:

4

6.5、清空列表(clear 方法)

可以使用列表的 clear() 方法来清空列表。

values = ["v2", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

values.clear()  # 清空 values 列表

print(values) # 打印 values 列表

输出结果:

[]

6.6、元素索引位置(index 方法)

可以使用列表的 index() 方法来获取元素第一次出现的索引位置。

values = ["v2", "v1", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

print(values.index("v1")) # 打印元素第一次出现的索引位置

输出结果:

1

6.7、统计元素出现次数(count 方法)

可以使用列表的 count() 方法来统计元素在列表中出现的次数。

values = ["v2", "v1", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

print(values.count("v1")) # 打印元素在列表中出现的次数

输出结果:

2

6.8、复制列表(copy 方法)

可以使用列表的 copy() 方法来复制一个新的列表,并且新的列表做任何修改,不会影响到原列表,反之亦然。

values = ["v2", "v1", "v1", "v4", "v3"]  # 声明一个名为 values 的列表

new_values = values.copy()  # 复制列表

print(values) # 打印 values 列表
print(new_values) # 打印 new_values 列表

输出结果:

['v2', 'v1', 'v1', 'v4', 'v3']
['v2', 'v1', 'v1', 'v4', 'v3']

七、遍历列表元素

我们可以通过《流程控制语句》中的循环语句,来遍历列表中的元素。

7.1、通过 for 循环遍历列表

values = ["v1", "v2", "v3", "v4"]  # 声明一个名为 values 的列表

for value in values: # 使用 for 循环遍历列表
    print(value)  # 打印元素

输出结果:

v1
v2
v3
v4

7.2、通过列表长度和 range 函数遍历列表

values = ["v1", "v2", "v3", "v4"]  # 声明一个名为 values 的列表

values_len = len(values)  # 获取 values 列表的长度
for i in range(values_len): # 通过列表长度和 range 函数遍历列表
    print(values[i])  # 打印指定位置的元素

输出结果:

v1
v2
v3
v4

系列文章

🔥 Python 基础(一):初识 Python
🔥 Python 基础(二):搭建 Python 开发环境
🔥 Python 基础(三):Python 集成开发工具 IDLE
🔥 Python 基础(四):基础语法
🔥 Python 基础(五):变量与常量
🔥 Python 基础(六):基本数据类型
🔥 Python 基础(七):常用运算符
🔥 Python 基础(八):流程控制语句

热门专栏

👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东商品列表数据采集(APP,H5端)

采集场景: 在京东搜索页 https://search.jd.com/Search 输入搜索&#xff0c;搜出后得到的多个商品列表数据。 征地: 商品名称、价格、评论数、店铺名称、店铺链接等字段。 采集结果: 采集结果可导出为Excel&#xff0c;CSV&#xff0c;HTML&#xff0c;数据库等格式。导出…

学习系统编程No.22【消息队列和信号量】

引言&#xff1a; 北京时间&#xff1a;2023/4/20/7:48&#xff0c;闹钟6点和6点30&#xff0c;全部错过&#xff0c;根本起不来&#xff0c;可能是因为感冒还没好&#xff0c;睡不够吧&#xff01;并且今天是星期四&#xff0c;这个星期这是第二篇博客&#xff0c;作为一个日…

Java核心技术 卷1-总结-12

Java核心技术 卷1-总结-12 具体的集合链表数组列表 具体的集合 下表中除了以 Map结尾的类之外&#xff0c; 其他类都实现了 Collection 接口&#xff0c;而以 Map结尾的类实现了 Map 接口。 集合类型描述ArrayList一种可以动态增长和缩减的索引序列LinkedList一种可以在任何位…

为视频直播网站开发选择最佳技术

在今天的数字时代&#xff0c;随着人们越来越多地倾向于观看在线视频&#xff0c;视频直播网站开发已经成为了一项非常有前途的技术。无论是为了提供娱乐、教育还是商业目的&#xff0c;视频直播网站开发都是一个非常重要的领域。 在视频直播网站开发中&#xff0c;你需要考虑…

使用Process Monitor探测日志文件是C++程序哪个模块生成的

目录 1、问题描述 2、使用Process Monitor监测目标文件是哪个模块生成的思路说明 3、操作Process Monitor监测日志文件是哪个模块生成的 4、通过screenctach.dll库的时间戳&#xff0c;找到其pdb文件&#xff0c;然后去查看详细的函数调用堆栈 5、最后 VC常用功能开发汇总…

春秋云境:CVE-2022-25099(文件上传造成RCE)

目录 一、题目 二、burp上传执行木马 一、题目 介绍&#xff1a; WBCE CMS v1.5.2 /language/install.php 文件存在漏洞&#xff0c;攻击者可精心构造文件上传造成RCE 进入题目&#xff1a; 网站正在建设中。。。 直接访问/admin吧&#xff1a; admin:123456 成功进入&…

css案例:小黄人案例

css案例&#xff1a;小黄人案例 先看效果图 眼睛和嘴巴有做动画的&#xff0c;但是我懒得上传gif了。 3. 源码 html <!DOCTYPE html> <html lang"en"> <head><meta charset"utf-8"><style>.contain {width: 400px;height:…

贪心-合并果子(经典Huffman树)

题意 在一个果园里&#xff0c;达达已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。 达达决定把所有的果子合成一堆。 每一次合并&#xff0c;达达可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。 可以看出&#xff0c;所…

Linux驱动开发:uboot启动流程详解

前言&#xff1a;uboot作为Linux驱动开发的 “三巨头” 之一&#xff0c;绝对是一座绕不开的大山。当然&#xff0c;即使不去细致了解uboot启动流程依旧不影响开发者对uboot的简单移植。但秉持着知其然知其所以然的学习态度&#xff0c;作者将给读者朋友细致化的过一遍uboot启动…

如何用ChatGPT举办活动,人类与AI的一次深度对谈

刚刚&#xff0c;Mixlab今年首次线下联合举办的活动开启了&#xff0c;活动不仅分享了AIGC对体验设计的新要求、内容产业的发展研判、用于模拟仿真的生成式智能体&#xff0c;还演示了AI如何深度整合到一场活动之中。 1/ 数字人出场介绍Mixlab 是如何实现的呢&#xff1f;无限…

[Net]SSE消息推送简介

文章目录 SSE网络协议客户端服务端事件 SSE示例客户端服务端 SSE&#xff08;Server-Sent Events&#xff09;是一种服务端到客户端&#xff08;浏览器&#xff09;的单向消息推送方式。 SSE网络协议 SSE是基于HTTP协议的&#xff0c;客户端向服务端发起一个请求&#xff0c;建…

Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转270度针对不同分辨率的无重力感应的大屏设备的屏幕旋转功能的实现,接下来就来分析实现…

以太网PLC无线WIFI跨网段通讯和Modbus仪表数据采集

产品介绍 产品型号&#xff1a;NET50-NAT-W4 使用范围&#xff1a;用于以太网PLC的跨网段无线通讯和仪表的数据采集 产品介绍 工业通讯桥接器&#xff08;NET50-NAT-W4&#xff09;用于以太网PLC的通讯扩展&#xff0c;以太网跨网段通讯和Modbus仪表的数据采集&#xff0c;上…

2023年制造业产品经理考NPDP有什么用?

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

谈一谈django应用实践

python 的 web 框架非常多,比较出名的有 django, flask, tornado。django 作为一个老牌框架,无论是文档还是代码质量都非常高,另外他自带的 admin 后台和一些有用的 app,如果你的需求是做 cms 之类的 web 应用的话,基本上不用开发多少代码就能出一个成品。不过很多新手可能…

2023-04-23 学习记录--C/C++-函数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 【一】、调用有参函数 ⭐️ 有参函数&#xff1a;调用函数时&#xff0c;需要传对应参数。 一、实现步骤 &#x1f338; 实现步骤…

Adobe国际认证证书,深化设计师个人优势!

Adobe国际认证又称为Adobe认证(英文:Adobe Certified Professional)是Adobe公司CEO签发的权威国际认证体系,旨在为用户提供Adobe软件的专业认证。 该体系基于Adobe核心技术及岗位实际应用操作能力的测评体系得到国际ISTE协会的认可&#xff0c;并在全球 148 个国家推广&#xf…

mybatis分页插件的详细理解和使用

mybatis分页插件的基本理解和使用 为什么要使用mybatis分页插件&#xff1f; 分页是一种将所有数据分段展示给用户的技术。用户每次看到的不是全部数据&#xff0c;而是其中一部分&#xff0c;如果在其中没有找到自己想要的内容&#xff0c;用户可以通过制定页码或者是翻页的…

头歌c语言实训项目-综合案例课外练习:学生成绩管理系统

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 第1关&#xff1a;学生成绩管理系统 题目&#xff1a; 代码思路&#xff1a; 代码表示&#xff1a; 如…