Python基础:元组、列表与字典详解
本文详细解析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中元组、列表和字典的核心概念与用法,希望对大家有所帮助。如有疑问欢迎留言,小编会及时回复。感谢大家对本站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









