欢迎访问宙启技术站
智能推送

Python中常用的数据结构有哪些

发布时间:2024-01-13 07:59:07

Python中常用的数据结构有以下几种:

1. 列表(List):列表是Python中最常用的数据结构,使用方括号([])来表示。列表中的元素可以是不同类型的数据,可以进行增删改查操作。

例子:

fruits = ['apple', 'banana', 'cherry']
print(fruits[0])  # 输出:apple
fruits.append('orange')  # 在列表末尾添加元素
fruits.remove('banana')  # 删除列表中的元素

2. 元组(Tuple):元组是与列表类似的有序集合,使用小括号(())来表示。与列表不同的是,元组一旦创建,就不能修改。

例子:

colors = ('red', 'green', 'blue')
print(colors[1])  # 输出:green

3. 字典(Dictionary):字典是一种键值对的数据结构,使用大括号({})来表示。字典中的键必须是 的,而值可以是任意类型的数据。

例子:

person = {'name': 'John', 'age': 30, 'gender': 'male'}
print(person['age'])  # 输出:30
person['country'] = 'USA'  # 添加键值对
del person['gender']  # 删除键值对

4. 集合(Set):集合是一种无序且不重复的数据结构,使用大括号({})来表示。集合可以进行交并补等操作。

例子:

numbers = {1, 2, 3, 4, 5}
print(3 in numbers)  # 输出:True
odd_numbers = {1, 3, 5, 7, 9}
even_numbers = {2, 4, 6, 8, 10}
print(odd_numbers.union(even_numbers))  # 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

5. 字符串(String):字符串是由字符组成的有序序列,使用单引号('')或双引号("")来表示。字符串是不可变的,即不能修改字符串的字符。

例子:

word = 'Hello'
print(word[1])  # 输出:e

6. 列表推导式(List Comprehension):列表推导式是一种用于创建和操作列表的简洁语法。可以使用列表推导式从一个列表中提取出符合条件的元素来创建一个新列表。

例子:

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
print(squared_numbers)  # 输出:[1, 4, 9, 16, 25]

7. 堆(Heap):堆是一种特殊的二叉树结构,它满足堆属性(最大堆或最小堆)。常用的堆实现有 heapq 模块提供的函数。

例子:

import heapq

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
heapq.heapify(numbers)  # 将列表转换为最小堆
print(numbers)  # 输出:[1, 1, 2, 3, 5, 9, 4, 6, 5]

8. 队列(Queue):队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,它支持在一端进行插入操作,而在另一端进行删除操作。

例子:

from queue import Queue

q = Queue()
q.put(1)  # 入队
print(q.get())  # 出队并输出:1

上述是Python中常用的数据结构及其使用例子。除此之外,Python还提供了其他一些数据结构,如栈、双向队列等,这些数据结构在不同的应用场景中也会被广泛使用。