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

相关推荐
水木流年追梦11 小时前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
liuyunshengsir11 小时前
PyTorch 动态量化(Dynamic Quantization)
人工智能·pytorch·python
电子云与长程纠缠11 小时前
UE5制作六边形包裹球体效果
开发语言·python·ue5
DFT计算杂谈12 小时前
KPROJ编译教程
java·前端·python·算法·conda
念恒1230612 小时前
Python(循环中断)
开发语言·python
tsfy200312 小时前
Python 处理中文文件名的3个坑(附 Flask 上传解决函数)
开发语言·python·flask·文件上传·中文编码
AI技术控13 小时前
KV Cache 缓存机制的原理和应用:从 Transformer 推理到大模型服务优化
人工智能·python·深度学习·缓存·自然语言处理·transformer
vx-程序开发13 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
爱睡懒觉的焦糖玛奇朵13 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具Video To YOLO Dataset】
人工智能·python·学习·yolo·音视频