Python基础:元组、列表与字典详解

拾柒
拾柒
发布时间:2026-10-13| 5人浏览过
原创

本文详细解析Python中三种核心数据结构:元组、列表和字典。通过对比元组的不可变性与列表的可变性,介绍列表的增删改查、排序及多维应用。同时深入讲解字典的键值对存储机制、无序特性及常用操作方法,帮助初学者掌握Python数据处理基础。

Python基础数据结构概述

元组(Tuple)

在Python中,元组被称为tuple,其定义可以使用小括号(),也可以省略括号直接书写,它代表一串有序排列的数据序列。


a_tuple = (12, 3, 5, 15 , 6)
another_tuple = 12, 3, 5, 15 , 6

列表(List)

相比之下,列表通过中括号[]来定义和标识:


a_list = [12, 3, 67, 7, 82]

两者的主要区别在于定义符号及可变性,但它们都支持元素的迭代、输出、调用及索引取值。

我们可以对这两个数据结构中的元素进行逐一迭代、输出、使用或定位取值:


for content in a_list:
  print(content)
"""
12
3
67
7
82
"""
 
for content_tuple in a_tuple:
  print(content_tuple)
"""
12
3
5
15
6
"""

接下来的示例展示了如何依次输出元组a_tuple和列表a_list中的各个元素:


for index in range(len(a_list)):
  print("index = ", index, ", number in list = ", a_list[index])
"""
index = 0 , number in list = 12
index = 1 , number in list = 3
index = 2 , number in list = 67
index = 3 , number in list = 7
index = 4 , number in list = 82
"""
 
for index in range(len(a_tuple)):
  print("index = ", index, ", number in tuple = ", a_tuple[index])
"""
index = 0 , number in tuple = 12
index = 1 , number in tuple = 3
index = 2 , number in tuple = 5
index = 3 , number in tuple = 15
index = 4 , number in tuple = 6
"""

列表的增删改查与排序

列表的添加操作

列表是一系列有序的数列,具备多种内置功能,例如:


a = [1,2,3,4,1,1,-1]
a.append(0) # 在a的最后面追加一个0
print(a)
# [1, 2, 3, 4, 1, 1, -1, 0]

可以在指定的位置添加新的数据项:


a = [1,2,3,4,1,1,-1]
a.insert(1,0) # 在位置1处添加0
print(a)
# [1, 0, 2, 3, 4, 1, 1, -1]

列表的移除操作

删除列表中的特定项:


a = [1,2,3,4,1,1,-1]
a.remove(2) # 删除列表中第一个出现的值为2的项
print(a)
# [1, 3, 4, 1, 1, -1]

列表的索引访问

显示特定位置的数据:


a = [1,2,3,4,1,1,-1]
print(a[0]) # 显示列表a的第0位的值
# 1
 
print(a[-1]) # 显示列表a的最末位的值
# -1
 
print(a[0:3]) # 显示列表a的从第0位 到 第2位(第3位之前) 的所有项的值
# [1, 2, 3]
 
print(a[5:]) # 显示列表a的第5位及以后的所有项的值
# [1, -1]
 
print(a[-3:]) # 显示列表a的倒数第3位及以后的所有项的值
# [1, 1, -1]

获取列表中某个值的索引(index):

统计列表中特定值出现的次数。


a = [1,2,3,4,1,1,-1]
print(a.index(2)) # 显示列表a中第一次出现的值为2的项的索引
# 1
print(a.count(-1))
# 1

列表的排序功能

对列表中的元素进行排序处理:


a = [4,1,2,3,4,1,1,-1]
a.sort() # 默认从小到大排序
print(a)
# [-1, 1, 1, 1, 2, 3, 4, 4]
 
a.sort(reverse=True) # 从大到小排序
print(a)
# [4, 4, 3, 2, 1, 1, 1, -1]
 

多维列表与索引定位

创建二维列表

一维List是线性的数据结构,而多维List则构成平面的数据结构:


a = [1,2,3,4,5] # 一行五列
 
multi_dim_a = [[1,2,3],
			  [2,3,4],
			  [3,4,5]] # 三行三列

索引操作

在上述定义的List中进行数据搜索:


print(a[1])
# 2
 
print(multi_dim_a[0][1])
# 2

利用行数和列数来定位List中的具体值。此处示例为二维列表,但Python支持更多维度的列表结构。

字典的键值对存储机制

字典的创建

如果说List是按顺序输出输入的数据结构,那么字典(Dictionary)的存储形式则是无需顺序的,我们来看一个具体例子:

在字典中,包含key(键)和value(值)两种元素,每个key对应一个value,其中key代表名称,value代表内容。数字和字符串均可作为key或value,且在同一字典中,key或value无需保持相同的数据类型。从某种意义上说,List可以被视为一种key为有序数列的字典。


a_list = [1,2,3,4,5,6,7,8]
 
d1 = {'apple':1, 'pear':2, 'orange':3}
d2 = {1:'a', 2:'b', 3:'c'}
d3 = {1:'a', 'b':2, 'c':3}
 
print(d1['apple']) # 1
print(a_list[0])  # 1
 
del d1['pear']
print(d1)  # {'orange': 3, 'apple': 1}
 
d1['b'] = 20
print(d1)  # {'orange': 3, 'b': 20, 'pear': 2, 'apple': 1}

字典的数据存储类型

上述示例展示了对列表中元素的增减操作。在打印整个列表时,可以发现元素并未按特定规律输出,这进一步验证了字典是一个无序的容器。


def func():
  return 0
 
d4 = {'apple':[1,2,3], 'pear':{1:3, 3:'a'}, 'orange':func}
print(d4['pear'][3])  # a
 

以上介绍了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 算法库。