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

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

前言

  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元组,如果对你有帮助,点赞加关注,下篇见。

相关推荐
hikktn3 小时前
Excel 日期格式统一治理:从“显示不全“到“自动兼容“的完整方案
windows·python·excel
触底反弹3 小时前
从 JS 引擎执行原理理解数据类型:栈内存、堆内存与作用域
javascript·数据结构·面试
郝学胜_神的一滴4 小时前
干货版《算法导论》09:让哈希表稳如泰山的终极解法
数据结构·算法
财经资讯数据_灵砚智能4 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月11日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
CC数学建模4 小时前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题C题:创业社区规划与资源配置优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
2601_956139424 小时前
性价比高的VI设计质量
大数据·人工智能·python·物联网
右耳朵猫AI4 小时前
Python周刊2026W23 | Polars 1.41、PyPy v7.3.23、Python 3.15、httpx2、dj-lite-tenant
开发语言·python
garmin Chen4 小时前
prompt实战:nof1.ai Alpha Arena
java·人工智能·python·prompt
洛水水4 小时前
【力扣100题】88.多数元素
数据结构·算法·leetcode
装不满的克莱因瓶4 小时前
掌握条件生成对抗网络(Conditional GAN)模型结构——从无条件生成到可控生成的进阶
人工智能·pytorch·python·深度学习·神经网络·生成对抗网络·计算机视觉