python入门之数据结构详细介绍以及代码示例

简介: Python 中的数据结构是指在 Python 中可用的数据类型,包括列表、元组、字典、集合等。下面我们将分别介绍这些数据结构的特点和使用方法。

Python 中的数据结构是指在 Python 中可用的数据类型,包括列表、元组、字典、集合等。下面我们将分别介绍这些数据结构的特点和使用方法。

列表(List)

列表是 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']

元组(Tuple)

元组是一种不可变的序列,与列表类似,但元组中的元素不能修改。元组用圆括号 () 包含,各个元素之间用逗号分隔。

创建元组

下面是一个创建元组的例子:

# 创建一个包含数字、字符串和元组的元组
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)

字典(Dictionary)

字典是一种无序的键值对集合,键和值都可以是任意类型的数据。字典用花括号 {} 包含,每个键值对之间用冒号 : 分隔,键和值之间用逗号分隔。

创建字典

下面是一个创建字典的例子:

# 创建一个包含字符串和数字键值对的字典
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)

集合(Set)

集合是一种无序的、不重复的元素集合。集合用花括号 {} 包含,各个元素之间用逗号分隔。

创建集合

下面是一个创建集合的例子:

# 创建一个包含数字和字符串的集合
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 中的数据结构包括列表、元组、字典、集合等。它们各自有着不同的特点和使用方法,根据具体的需求选择合适的数据结构可以提高代码的效率和可读性。

目录
相关文章
|
6天前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
15 0
|
2天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【9月更文挑战第33天】本文旨在为初学者提供一个关于使用Python进行数据分析的全面概述。我们将从基本的安装和设置开始,逐步介绍数据处理、数据可视化以及机器学习的基本概念和应用。文章将通过实际代码示例来展示如何使用Python及其相关库来解决常见的数据分析问题。
|
8天前
|
Python
Python 编程入门:打造你的第一个程序
【9月更文挑战第27天】编程,就像是在数字世界里绘画。想象一下,你手中的键盘是画笔,屏幕是画布,而代码则是你的颜料。这篇文章将带你走进编程的世界,学习如何使用 Python 这门语言来创建你的第一个程序。我们将从基础的语法开始,逐步深入到条件判断和循环结构,最终完成一个简单的猜数字游戏。无论你是否有编程经验,这里的内容都将为你打开一扇新的大门。
|
8天前
|
人工智能 数据挖掘 开发者
Python编程入门:从零到英雄
【9月更文挑战第27天】本文旨在通过浅显易懂的语言,为初学者介绍Python编程的基础知识和实用技巧。我们将一起探索Python的世界,了解其语法、数据结构,并通过实际示例学习如何编写简单的Python程序。无论你是编程新手,还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往Python编程世界的大门。
|
6天前
|
Python
? Python 装饰器入门:让代码更灵活和可维护
? Python 装饰器入门:让代码更灵活和可维护
12 4
|
6天前
|
存储 索引 Python
Python常用数据结构——集合
Python常用数据结构——集合
21 3
|
6天前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
11 2
|
6天前
|
数据可视化 Python
使用Python进行数据可视化:从入门到精通
【8月更文挑战第60天】本文是一篇面向初学者的Python数据可视化教程,旨在帮助读者掌握如何使用Python及其强大的库(如Matplotlib和Seaborn)来创建引人入胜的数据可视化。我们将从基础开始,逐步深入,最终达到能够独立完成复杂数据可视化项目的水平。无论你的背景如何,只要你对数据可视化感兴趣,这篇文章都将为你开启一段新的学习之旅。
|
6天前
|
Python
Python编程的循环结构小示例(二)
Python编程的循环结构小示例(二)
|
7天前
|
Python
Python 装饰器入门:让代码更灵活和可维护
Python 装饰器入门:让代码更灵活和可维护
12 1
下一篇
无影云桌面