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

Python学习教程(六)数据结构List(列表)

Python学习教程(六)数据结构List

  • 前言
  • 1.定义
  • 2.特点
  • 3.常用方法
    • 3.1 len
    • 3.2 append
    • 3.3 insert
    • 3.4 remove
    • 3.5 pop
    • 3.6 sort
    • 3.7 reverse
    • 3.8 max
    • 3.9 min
  • 4.修改列表中的元素
  • 5.遍历列表
  • 6.总结

前言

Python中也提供了我们常用的数据结构,比如List(列表)、tuple(元组)、set(集合)、dict(字典)。这一篇我们先来学习List(列表),List(列表)可以用来存储多个数据,和Java中的数组、ArrayList有点类似,在实际项目中使用频率也非常高。有Java基础的小伙伴学习起来相对简单,我们直接开始吧。

1.定义

定义List(列表),使用方括号。

列表名 = [元素1, 元素2, 元素3]

代码:

iList = [1, 2, 3, 4, 5, 6] print(iList)

运行结果:

[1, 2, 3, 4, 5, 6]

也可以定义一个空列表:

empty_list = [] print(empty_list)

运行结果:

[]

列表中的元素通过下标访问,下标从0开始。

iList = [1, 2, 3, 4, 5, 6] print(iList[0]) print(iList[1]) print(iList[5])

运行结果:

1 2 6

如果访问不存在的下标,会报错:

iList = [1, 2, 3] print(iList[5])

会出现下标越界错误。

也可以通过下标反向访问列表。
代码:

print(iList[-1])

运行结果:

6

下标如果是-1,就是取最后一个元素。

2.特点

List(列表)有以下几个特点:

  1. 可以存放不同类型的元素
  2. 元素可以重复
  3. 元素可以修改
  4. 元素是有序的,可以通过下标访问

直接上代码看一下:

my_list = [1, "hello", 3.14, True, 1] print(my_list) print(my_list[0]) print(my_list[1])

运行结果:

[1, 'hello', 3.14, True, 1] 1 hello

可以看到,List(列表)中可以同时存放整数、字符串、浮点数、布尔值,并且元素1也可以重复出现。
实际项目中,推荐List(列表)中存放同一类型的数据。

3.常用方法

下面我们来看下List(列表)中常用的方法。

3.1 len

len方法用来获取列表中元素的个数。

iList = [1, 2, 3, 4, 5, 6] print(len(iList))

运行结果:

6

3.2 append

append方法用来在列表末尾添加元素。

iList = [1, 2, 3] iList.append(4) print(iList)

运行结果:

[1, 2, 3, 4]

append每次只能添加一个元素。

iList = [1, 2, 3] iList.append("hello") print(iList)

运行结果:

[1, 2, 3, 'hello']

3.3 insert

insert方法用来在指定位置插入元素。

语法:

列表名.insert(下标, 元素)

代码:

iList = [1, 2, 3, 4] iList.insert(1, 100) print(iList)

运行结果:

[1, 100, 2, 3, 4]

这里的意思是在下标为1的位置插入100,原来的元素会往后移动。

3.4 remove

remove方法用来删除列表中的指定元素。

iList = [1, 2, 3, 4, 5] iList.remove(3) print(iList)

运行结果:

[1, 2, 4, 5]

如果列表中有多个相同的元素,remove只会删除第一个匹配到的元素。

iList = [1, 2, 2, 3, 4] iList.remove(2) print(iList)

运行结果:

[1, 2, 3, 4]

3.5 pop

pop方法用来删除元素,并返回该元素,如果不指定下标,默认删除最后一个元素。

iList = [1, 2, 3, 4, 5] iList.pop() print(iList)

运行结果:

[1, 2, 3, 4]

也可以指定下标删除元素。

iList = [1, 2, 3, 4, 5] iList.pop(1) print(iList)

运行结果:

[1, 3, 4, 5]

pop方法会返回被删除的元素。

iList = [1, 2, 3, 4, 5] num = iList.pop() print(num) print(iList)

运行结果:

5 [1, 2, 3, 4]

3.6 sort

sort方法用来对列表进行排序,默认是升序排序。

iList = [5, 3, 1, 4, 2] iList.sort() print(iList)

运行结果:

[1, 2, 3, 4, 5]

如果想降序排序,可以这样写:

iList = [5, 3, 1, 4, 2] iList.sort(reverse=True) print(iList)

运行结果:

[5, 4, 3, 2, 1]

3.7 reverse

reverse方法用来反转列表中的元素顺序。

iList = [1, 2, 3, 4, 5] iList.reverse() print(iList)

运行结果:

[5, 4, 3, 2, 1]

注意,reverse只是反转顺序,不是排序。

iList = [3, 1, 5, 2, 4] iList.reverse() print(iList)

运行结果:

[4, 2, 5, 1, 3]

3.8 max

max方法用来获取列表中的最大值。

iList = [5, 3, 1, 4, 2] print(max(iList))

运行结果:

5

3.9 min

min方法用来获取列表中的最小值。

iList = [5, 3, 1, 4, 2] print(min(iList))

运行结果:

1

4.修改列表中的元素

List中的元素是可以修改的,我们可以通过下标来修改指定位置的元素。

iList = [1, 2, 3, 4, 5] iList[1] = 100 print(iList)

运行结果:

[1, 100, 3, 4, 5]

这里把下标为1的元素修改成了100。

拓展

也可以使用del方法删除列表元素。
代码:

iList = [1, 2, 3, 4, 5] del iList[0] print(iList) print(iList[0])

运行结果:

[2, 3, 4, 5] 2

原本列表中的第一个元素1被删除了,2就变成了第一个元素。

5.遍历列表

遍历列表可以使用for循环。

iList = [1, 2, 3, 4, 5] for i in iList: print(i)

运行结果:

1 2 3 4 5

如果想同时获取下标和值,可以使用enumerate方法。

iList = [1, 2, 3, 4, 5] for index, value in enumerate(iList): print(index, value)

运行结果:

0 1 1 2 2 3 3 4 4 5

6.总结

这一篇我们学习了Python中的List(列表),以及它的一些常用方法,这些方法在实际项目开发中使用频率都非常高,大家可以动手敲下代码,加深理解,好了这一篇就到这里,下一篇我们继续学习tuple元组,如果对你有帮助,点赞加关注,下篇见。

http://www.jsqmd.com/news/873549/

相关文章:

  • 137、运动控制中的故障诊断与安全机制
  • Claude API文档编写实战手册(含OpenAPI 3.1完整示例+错误码映射表)
  • 企业级RAG落地需要考虑的七个优化指标
  • 重新理解AI:从工具到可协作的助手
  • Lovable无代码开发避坑清单(97%新手踩过的5大致命误区)
  • 《设计数据密集型应用》(DDIA, 2nd ed.) 心智模型导览——《Designing Data-Intensive Applications》书介绍导航
  • 紧急!财政部新发《AI增强型审计工作指引(试行)》第4.2条直指Agent记忆泄露风险:3类必查缓存节点+2分钟自检脚本
  • Lan Mouse终极指南:3分钟实现跨平台键鼠共享,告别多设备切换烦恼
  • 138、运动控制中的安全功能:STO、SS1、SS2
  • Windows平台APK安装器:轻松在电脑上安装安卓应用
  • AMD想赢下Profit Law这场战争,还差几块拼图
  • 139、运动控制中的安全功能:安全PLC与安全总线
  • 避开ArcGIS Pro二次开发的那些坑:UI控件条件显示(Condition)配置详解与常见错误排查
  • Gemini赋能安全工程师:自动化PoC脚本生成的实践与展望
  • 为ClaudeCode配置Taotoken作为备用API解决访问限制
  • 网安面试必刷!小白友好Web_内网渗透_护网告警面试题汇总,建议收藏
  • 【限时开放】2024Q3最新AI写作Agent行业适配度矩阵(覆盖12类B端业务+8种内容形态),仅剩最后217个评估名额
  • 为什么你的财务月报总是做不完?如何用对方法让财务月报自动生成?
  • 一线观察:昆明装修企业长期运营的真实表现
  • AI日报 - 2026年05月22日
  • 隐形的“时空刻度师“:增量脉冲编码器如何让工业精度触手可及
  • C# produce and consume data via Google.Protobuf
  • 暗黑破坏神2终极角色编辑器:Diablo Edit2完整使用教程
  • Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库)
  • 【信息系统项目管理师论文押题】论信息系统项目的不确定性绩效域
  • AI知识库选型终极指南:2026年Top 7工具深度横评(本地向量引擎兼容性+GDPR合规得分全公开)
  • 硬件错误HardFault
  • 靠谱的鸟食饲料零售商 - GrowthUME
  • 为什么92%的AI翻译Agent项目在L10阶段失败?——解密头部语言服务商未公开的5层校验协议
  • 你可能会用到的16个Linux命令