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

使用Python编写的常用数据结构

发布时间:2023-05-31 02:13:44

Python是广泛使用的编程语言,也是数据科学、人工智能及机器学习的热门语言之一。Python有很多内置的数据结构,如字符串、列表、元组、集合和字典等。

以下是Python中最常见的数据结构,以及它们的用途和示例代码。

1. 列表

列表是Python中最基本和最常用的数据结构之一。它是一个有序的序列,包含一组元素,元素可以是任何数据类型,如整数、浮点数、字符串或对象。列表用[]来表示,并且可以被修改。

创建一个列表:

fruits = ['apple', 'banana', 'orange']

2. 元组

元组与列表非常相似,但是它们是不可变的,一旦创建了一个元组,就不能再修改它。元组用()来表示。

创建一个元组:

numbers = (1, 2, 3, 4, 5)

3. 字典

字典是一种映射数据类型,表示多个键值对的集合。每个键值对由一个键和一个值组成,用:{}表示,键和值之间用冒号分隔。

创建一个字典:

ages = {'John': 30, 'Jane': 25, 'Bob': 50}

4. 集合

集合是一个无序、不可重复的集合,它是Python中的一种基本数据结构,在很多情况下可以替代列表和元组。集合用{}表示。

创建一个集合:

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

5. 栈

栈是一种特殊的列表,只能通过顶部添加或删除元素。在Python中,栈可以使用列表进行实现。

创建一个栈:

stack = [3, 4, 5]

6. 队列

队列是另一种常见的数据结构,与栈非常相似,但是通过队尾添加元素,并且通过队首删除元素。在Python中,队列可以使用列表或者Queue模块进行实现。

创建一个队列:

queue = [1, 2, 3]

7. 链表

链表是一种线性数据结构,它包含节点,每个节点包含数据和指向下一个节点的指针。在Python中,链表可以通过类和指针来实现。

创建一个链表:

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

head = Node("A")
print(head.data)

8. 堆

堆是一种二叉树,它的父节点和子节点之间具有特殊的顺序关系。在Python中,堆可以使用heapq模块进行实现。

创建一个堆:

import heapq

heap = []
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)

print(heapq.heappop(heap))

9. 树

树是一种非线性数据结构,它由节点和边组成。在Python中,树可以使用类来实现。

创建一个树:

class Node:
    def __init__(self, data):
        self.left = None
        self.right = None
        self.data = data

root = Node(1)
root.left = Node(2)
root.right = Node(3)

10. 图

图是一种非线性数据结构,它由节点和边组成。在Python中,图可以使用类来实现。

创建一个图:

class Graph:
    def __init__(self, nodes):
        self.nodes = nodes
        self.adj_list = {node: [] for node in nodes}

    def add_edge(self, u, v):
        self.adj_list[u].append(v)
        self.adj_list[v].append(u)

graph = Graph(["A", "B", "C", "D"])
graph.add_edge("A", "B")
graph.add_edge("B", "C")