Python从入门到实战之数据结构篇

1.数据结构是什么?

数据结构是计算机存储、组织数据的方式,可以分为线性结构和非线性结构。Python语言中,常用的数据结构有列表、元组、字典、集合等。

1.1 列表

列表是Python中最常用的数据结构之一,用于存储一系列元素。列表中的元素可以是不同类型的数据,如整数、浮点数、字符串等。

列表的定义方式:

# 定义一个包含整数和字符串的列表

list1 = [1, 2, 3, 'hello', 'world']

1.2 元组

元组与列表类似,也用于存储一组元素。不同之处在于,元组中的元素不可修改。即使元组中只有一个元素,也必须使用逗号来定义。

元组的定义方式:

# 定义一个包含整数和字符串的元组

tuple1 = (1, 2, 3, 'hello', 'world')

1.3 字典

字典用于存储键值对,其中键是唯一的,对应一个值。字典可以根据键来访问对应的值。

字典的定义方式:

# 定义一个包含字符串和整数的字典

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}

1.4 集合

集合用于存储一组唯一的元素,集合中的元素不可重复。

集合的定义方式:

# 定义一个包含整数的集合

set1 = {1, 2, 3, 4, 5}

2.常用的数据结构操作

2.1 访问元素

对于列表、元组和字典,可以通过索引或键来访问其中的元素。

访问列表元素:

# 定义一个列表

list1 = [1, 2, 3, 'hello', 'world']

# 访问列表元素

print(list1[0]) # 1

print(list1[3]) # 'hello'

访问元组元素:

# 定义一个元组

tuple1 = (1, 2, 3, 'hello', 'world')

# 访问元组元素

print(tuple1[1]) # 2

print(tuple1[4]) # 'world'

访问字典元素:

# 定义一个字典

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 访问字典元素

print(dict1['name']) # 'Tom'

print(dict1['age']) # 18

2.2 添加元素

对于列表、元组和字典,可以通过append()、extend()、insert()等方法来添加元素。

添加列表元素:

# 定义一个空列表

list1 = []

# 添加元素

list1.append(1)

list1.extend([2, 3])

list1.insert(1, 'hello')

print(list1) # [1, 'hello', 2, 3]

添加字典元素:

# 定义一个空字典

dict1 = {}

# 添加元素

dict1['name'] = 'Tom'

dict1['age'] = 18

print(dict1) # {'name': 'Tom', 'age': 18}

2.3 删除元素

对于列表、元组和字典,可以通过remove()、pop()、del等方法来删除元素。

删除列表元素:

# 定义一个列表

list1 = [1, 2, 3, 'hello', 'world']

# 删除元素

list1.remove(3)

list1.pop()

del list1[0]

print(list1) # ['hello']

删除字典元素:

# 定义一个字典

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 删除元素

del dict1['gender']

print(dict1) # {'name': 'Tom', 'age': 18}

3.使用数据结构解决问题

3.1 求列表中最大值和最小值

可以使用内置函数max()和min()来求列表中的最大值和最小值。

# 定义一个包含整数的列表

list1 = [1, 3, 5, 2, 4]

# 求列表中的最大值和最小值

max_num = max(list1)

min_num = min(list1)

print('最大值:', max_num) # 最大值: 5

print('最小值:', min_num) # 最小值: 1

3.2 列表去重

可以将列表转化为集合,再转回列表来实现去重。

# 定义一个包含重复元素的列表

list1 = [1, 2, 3, 2, 4, 3]

# 去重

new_list = list(set(list1))

print(new_list) # [1, 2, 3, 4]

3.3 统计元素个数

可以使用列表的count()方法来统计元素在列表中出现的次数。

# 定义一个包含重复元素的列表

list1 = [1, 2, 3, 2, 4, 3]

# 统计元素出现次数

count_2 = list1.count(2)

count_3 = list1.count(3)

print('2的个数:', count_2) # 2的个数: 2

print('3的个数:', count_3) # 3的个数: 2

3.4 字典排序

可以使用sorted()函数来对字典进行排序。

# 定义一个字典

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 对字典按键排序

sorted_dict = dict(sorted(dict1.items(), key=lambda x:x[0]))

print(sorted_dict) # {'age': 18, 'gender': 'male', 'name': 'Tom'}

4.总结

本文介绍了Python中常用的数据结构,包括列表、元组、字典和集合,以及常用的数据结构操作。同时,还介绍了如何使用这些数据结构来解决实际问题。数据结构是Python编程的重要基础,熟练掌握数据结构的应用能够帮助我们更轻松地解决问题。

后端开发标签