Python基础:深入解析列表、字典、元组与集合

Dylan
Dylan
发布时间:2026-10-13| 7人浏览过
原创

本文系统介绍Python的四种基本数据结构:列表、字典、元组和集合。详细解析各自的定义格式、核心特性及增删改查操作方法,涵盖insert、extend、del等常用技巧,帮助初学者掌握数据存储与处理的核心技能。

所谓数据结构,通俗而言即是用于存储大量数据的容器。在Python中,主要涉及四种基础数据结构:列表、字典、元组和集合。

其具体定义格式如下所示:

列表(list)使用方括号,格式为 list = [val1,val2,val3,val4];字典(dict)使用花括号,格式为 dict = {key1:val1,key2:val2},其元素由冒号分隔的键值对组成;元组(tuple)使用圆括号,格式为 tuple = (val1,val2,val3,val4);集合(set)同样使用花括号,格式为 set = {val1,val2,val3,val4}。

1. 列表:

list = [val1,val2,val3,val4]

列表具备以下显著特征:

首先,列表中的每个元素均支持修改;其次,列表元素具有有序性,即每个元素都对应特定的位置索引;最后,列表可以容纳Python中的任何类型对象。下文将详细阐述列表的增、删、改、查操作。

增:

1 list = [1,'dwd',3.6]
2 list.insert(0,'Python')
3 print(list)

使用 insert 方法可向列表中添加元素。该方法需指定插入位置及新增内容,新增元素将置于指定位置元素之前;若指定位置超出当前范围,则默认追加至列表末尾。

1 list = [1,'dwd',3.6]
2 list[0:0] = [9]
3 # 【0:0】是指在list中的第1个位置插入新元素
4 list[3:3] = ['a']
5 # 【3:3】是指在list中的第4个位置插入新元素
6 print(list)

上述两种方法仅支持添加单个元素。若需一次性添加多个元素,可使用 extend 方法实现。

1 list_a = [1,'dwd',3.6]
2 list_b = ['Python',56,'game']
3 list_a.extend(list_b)
4 # extend方法用于在列表末尾一次性追加另一个列表中的多个值
5 print(list_a)

删:

 

1 list = [1,'dwd',3.6]
2 list.remove('dwd')
3 print(list)

除了使用 remove 方法外,还可以利用 del 关键字来删除列表元素。

1 list = [1,'dwd',3.6]
2 del list[0:2]
3 # 【0:2】是删除第1和第2个位置的元素
4 print(list)

改:

1 list = [1,'dwd',3.6]
2 list[2] = 7
3 list[0] = 'start'
4 print(list)

若需替换列表中的特定元素,可直接对该位置元素重新赋值。例如,list[2] 表示访问列表中的第三个元素。

查:

列表的索引机制与字符串类似,支持正向和反向两种索引方式,既可从前往后访问,也可从后往前访问。具体示例如下:

list = [1,'dwd',3.6]
print(list[1])
# 打印第2个位置的元素
print(list[-1])
# 打印倒数第一个位置的元素
print(list[:2])
# 打印第1和第2个元素
print(list[1:])
# 打印第2到最后一个的元素

然而,若试图通过元素值反向查找其位置,直接采用索引方式会导致程序报错。因为列表仅支持通过位置索引,不支持通过元素值直接查询位置。

2. 字典:

dict = {key1:val1,key2:val2}

编程中的许多概念源于生活,字典亦不例外。这种数据结构类似于现实中的字典,通过“名称—内容”进行构建。在Python中,每个元素表现为带有冒号的键(key)与值(val)的对应关系,通常称为键值对。

字典具有以下特征:

字典中的元素必须严格以键值对形式存在;

键(key)不允许重复,而值(val)允许重复;

键是不可变的,无法被修改;值是可变的,可以是任何类型的对象。

即使字典中定义了重复的键,打印输出时该键也仅显示一次。示例如下:

1 dict = {'A':'art','B':'big','C':'cute','C':'cute'}
2 print(dict)

接下来介绍字典的增、删、改、查操作。

增:

字典没有类似列表的 insert 方法,但可以通过直接赋值的方式插入元素,新元素默认追加至字典末尾。

1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['D'] = 'dictionary'
3 print(dict)

此前在列表中介绍过使用 extend 方法添加多个元素,在字典中对应的操作是使用 update 方法来添加多个元素。

1 dict = {'A':'art','B':'big','C':'cute'}
2 dict.update({'D':'dictionary','E':'exam'})
3 print(dict)

删:

在字典中删除特定元素,同样可以使用 del 关键字。

1 dict = {'A':'art','B':'big','C':'cute'}
2 del dict['B']
3 print(dict)

需要注意的是,尽管字典定义时使用花括号,但在执行删除操作时依然使用中括号。

改:

若要修改字典中的元素,只需直接对对应的键重新赋值即可。

1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['B'] = 'beyond'
3 print(dict)

查:

在字典中进行索引时,与删除操作类似,均使用中括号,且中括号内需存放字典的键。这意味着对字典元素的访问是通过键来完成的。

1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['B']
3 print(dict['B'])

此前在《Python入门_浅谈字符串的分片与索引、字符串的方法》一文中提及字符串支持分片,但在字典中,字符串不支持分片操作。

3. 元组

tuple = (val1,val2,val3,val4)

Python中的元组与列表相似,主要区别在于元组不可修改,可视为“稳固版”的列表。因此,列表中可用的增删改方法在元组中均不适用,但元组支持元素索引,用法与列表类似。

1 tup = (1,2,'s',7)
2 print(tup[0])
3 print(tup[-1])
4 print(tup[1:])
5 print(tup[:-2])

4. 集合

set = {val1,val2,val3,val4}

集合的概念接近数学中的集合。集合中的元素是无序且不重复的任何对象。我们可以利用集合判断数据的从属关系,或通过集合去除数据结构中的重复元素。

集合不支持切片和索引操作,但除了执行集合运算外,集合元素支持添加和删除。

set = {7,1,8,3,4,5,3}
set.add(0)
# 新增元素0
set.discard(7)
# 删除掉元素7
print(set)
# 打印出的集合会从小到达排列,并去重

关于集合的具体运算,将在后续用到时详细展开。

后续章节将介绍数据结构的一些实用技巧。

操作环境:Python版本为3.6;PyCharm版本为2016.2;电脑系统为Mac。

以上关于Python入门中四种基本数据结构的介绍即为全部内容,希望能对大家有所帮助,也欢迎大家继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。