【Python】数据结构有Python版吗?

李升伟 整理

数据结构可以用Python实现。Python提供了多种内置数据结构,如列表(list)、元组(tuple)、集合(set)、字典(dict)等。此外,Python的标准库还包含一些高级数据结构,如collections 模块中的deque 、defaultdict 、Counter等。

以下是一些常见数据结构及其Python实现示例:

1. 数组/列表(List):

Python的列表类似于动态数组,可以存储不同类型的元素。

python 复制代码
my_list = [1, 2, 3, 4, 5]

2. 栈(Stack):

可以使用列表来实现栈,遵循后进先出(LIFO)原则。

python 复制代码
stack = []
stack.append(1)  # 入栈
stack.append(2)
stack.pop()      # 出栈,返回2

3. 队列(Queue):

可以使用collections.deque 来实现队列,遵循先进先出(FIFO)原则。

python 复制代码
from collections import deque
queue = deque()
queue.append(1)  # 入队
queue.append(2)
queue.popleft()  # 出队,返回1

4. 链表(Linked List):

可以自定义类来实现链表。

python 复制代码
class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def append(self, data):
        new_node = Node(data)
        if not self.head:
            self.head = new_node
            return
        last_node = self.head
        while last_node.next:
            last_node = last_node.next
        last_node.next = new_node

    def print_list(self):
        current = self.head
        while current:
            print(current.data, end=" -> ")
            current = current.next
        print("None")

ll = LinkedList()
ll.append(1)
ll.append(2)
ll.print_list()  # 输出: 1 -> 2 -> None

5. 树(Tree):

可以自定义类来实现树结构。

python 复制代码
class TreeNode:
    def __init__(self, data):
        self.data = data
        self.children = []

    def add_child(self, child):
        self.children.append(child)

root = TreeNode("A")
child1 = TreeNode("B")
child2 = TreeNode("C")
root.add_child(child1)
root.add_child(child2)

6. 图(Graph):

可以使用字典来实现图结构。

python 复制代码
graph = {
    'A': ['B', 'C'],
    'B': ['D', 'E'],
    'C': ['F'],
    'D': [],
    'E': ['F'],
    'F': []
}

7. 堆(Heap):

可以使用heapq模块来实现堆。

python 复制代码
import heapq

heap = []
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)
heapq.heappop(heap)  # 返回1

8. 哈希表(Hash Table):

Python的字典(dict)就是基于哈希表实现的。

python 复制代码
hash_table = {}
hash_table['key1'] = 'value1'
hash_table['key2'] = 'value2'
print(hash_table['key1'])  # 输出: value1

这些是Python中实现常见数据结构的一些基本示例。根据具体需求,你可以进一步扩展和优化这些实现。

(来自deepseek问答。)

相关推荐
7yewh4 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
leikooo4 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
言乐64 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐65 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
yl45306 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿6 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__7 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI7 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl7 小时前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
lvwangshu8 小时前
登录日志 题解
数据结构·线段树·题解·技巧·性质题·思维好题·细节题