Python 中的数据结构是指在 Python 中可用的数据类型,包括列表、元组、字典、集合等。下面我们将分别介绍这些数据结构的特点和使用方法。
列表是 Python 中最基本的数据结构之一,它可以存储任意类型的数据,包括数字、字符串、布尔值、列表、元组、字典等。列表用方括号 [] 包含,各个元素之间用逗号分隔。
下面是一个创建列表的例子:
# 创建一个包含数字、字符串和布尔值的列表
my\_list = [1, 2, 3, 'hello', True, False]
# 创建一个空列表
empty\_list = []
列表中的元素可以通过下标来访问,下标从 0 开始,负数下标表示从后往前数,例如 -1 表示最后一个元素。
# 访问列表中的第一个元素
print(my\_list[0]) # 输出 1
# 访问列表中的最后一个元素
print(my\_list[-1]) # 输出 False
除了单个元素,我们还可以通过切片来访问列表的一部分。切片用冒号 : 分隔起始下标和终止下标,不包含终止下标对应的元素。
# 访问列表中的前三个元素
print(my\_list[:3]) # 输出 [1, 2, 3]
# 访问列表中的第二个和第三个元素
print(my\_list[1:3]) # 输出 [2, 3]
列表中的元素是可变的,可以通过下标来修改它们的值。
# 修改列表中的第一个元素
my\_list[0] = 100
# 输出修改后的列表
print(my\_list) # 输出 [100, 2, 3, 'hello', True, False]
列表中可以通过 append() 方法来添加元素。
# 向列表末尾添加一个元素
my\_list.append('world')
# 输出修改后的列表
print(my\_list) # 输出 [100, 2, 3, 'hello', True, False, 'world']
列表中可以通过 del 语句或者 remove() 方法来删除元素。
# 删除列表中的第一个元素
del my\_list[0]
# 输出修改后的列表
print(my\_list) # 输出 [2, 3, 'hello', True, False, 'world']
# 删除列表中的字符串元素
my\_list.remove('hello')
# 输出修改后的列表
print(my\_list) # 输出 [2, 3, True, False, 'world']
元组是一种不可变的序列,与列表类似,但元组中的元素不能修改。元组用圆括号 () 包含,各个元素之间用逗号分隔。
下面是一个创建元组的例子:
# 创建一个包含数字、字符串和元组的元组
my\_tuple = (1, 2, 3, 'hello', (4, 5, 6))
# 创建一个包含单个元素的元组
single\_tuple = (1,)
元组中的元素可以通过下标来访问,下标从 0 开始,负数下标表示从后往前数,例如 -1 表示最后一个元素。
# 访问元组中的第一个元素
print(my\_tuple[0]) # 输出 1
# 访问元组中的最后一个元素
print(my\_tuple[-1]) # 输出 (4, 5, 6)
与列表类似,元组也支持切片操作。
# 访问元组中的前三个元素
print(my\_tuple[:3]) # 输出 (1, 2, 3)
# 访问元组中的第二个和第三个元素
print(my\_tuple[1:3]) # 输出 (2, 3)
元组中的元素是不可变的,因此不能通过下标来修改它们的值。
# 修改元组中的第一个元素(错误示范)
my\_tuple[0] = 100 # 报错:TypeError: 'tuple' object does not support item assignment
元组可以通过解构的方式来获取其中的元素。
# 解构元组
a, b, c, d, e = my\_tuple
# 输出解构后的变量
print(a, b, c, d, e) # 输出 1 2 3 hello (4, 5, 6)
字典是一种无序的键值对集合,键和值都可以是任意类型的数据。字典用花括号 {} 包含,每个键值对之间用冒号 : 分隔,键和值之间用逗号分隔。
下面是一个创建字典的例子:
# 创建一个包含字符串和数字键值对的字典
my\_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}
# 创建一个空字典
empty\_dict = {}
字典中的元素可以通过键来访问。
# 访问字典中的 'name' 键对应的值
print(my\_dict['name']) # 输出 Alice
# 访问字典中的 'age' 键对应的值
print(my\_dict['age']) # 输出 18
字典中的元素是可变的,可以通过键来修改它们的值。
# 修改字典中的 'name' 键对应的值
my\_dict['name'] = 'Bob'
# 输出修改后的字典
print(my\_dict) # 输出 {'name': 'Bob', 'age': 18, 'gender': 'female'}
字典中可以通过键来添加元素。
# 向字典中添加一个键值对
my\_dict['phone'] = '123456789'
# 输出修改后的字典
print(my\_dict) # 输出 {'name': 'Bob', 'age': 18, 'gender': 'female', 'phone': '123456789'}
字典中可以通过 del 语句来删除元素。
# 删除字典中的 'gender' 键值对
del my\_dict['gender']
# 输出修改后的字典
print(my\_dict) # 输出 {'name': 'Bob', 'age': 18, 'phone': '123456789'}
字典中的元素可以通过循环来遍历。
# 遍历字典中的所有键
for key in my\_dict:
print(key)
# 遍历字典中的所有值
for value in my\_dict.values():
print(value)
# 遍历字典中的所有键值对
for key, value in my\_dict.items():
print(key, value)
集合是一种无序的、不重复的元素集合。集合用花括号 {} 包含,各个元素之间用逗号分隔。
下面是一个创建集合的例子:
# 创建一个包含数字和字符串的集合
my\_set = {1, 2, 3, 'hello', 'world'}
# 创建一个空集合
empty\_set = set()
集合中可以通过 add() 方法来添加元素。
# 向集合中添加一个元素
my\_set.add('python')
# 输出修改后的集合
print(my\_set) # 输出 {1, 2, 3, 'hello', 'world', 'python'}
集合中可以通过 remove() 方法来删除元素。
# 删除集合中的 'hello' 元素
my\_set.remove('hello')
# 输出修改后的集合
print(my\_set) # 输出 {1, 2, 3, 'world', 'python'}
集合支持并集、交集、差集等运算。
# 创建两个集合
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 计算两个集合的并集
print(set1 | set2) # 输出 {1, 2, 3, 4, 5, 6, 7, 8}
# 计算两个集合的交集
print(set1 & set2) # 输出 {4, 5}
# 计算两个集合的差集
print(set1 - set2) # 输出 {1, 2, 3}
# 计算两个集合的对称差集(即除了交集之外的元素)
print(set1 ^ set2) # 输出 {1, 2, 3, 6, 7, 8}
Python 中的数据结构包括列表、元组、字典、集合等。它们各自有着不同的特点和使用方法,根据具体的需求选择合适的数据结构可以提高代码的效率和可读性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。