Python常用数据结构


Python常用数据结构

 

Python 提供了多种内置的数据结构,用于存储和组织数据。以下是一些常见的 Python 数据结构:

 

1.列表(List):列表是一个有序、可变的数据集合,可以包含任意类型的元素。列表使用方括号 [] 表示,元素之间用逗号分隔。例如:my_list = [1, 2, 3, 'a', 'b', 'c']

 

2.元组(Tuple):元组是一个有序、不可变的数据集合,可以包含任意类型的元素。元组使用圆括号 () 表示,元素之间用逗号分隔。例如:my_tuple = (1, 2, 3, 'a', 'b', 'c')

 

3.字典(Dictionary):字典是一种键值对(Key-Value)的数据结构,用于存储无序的数据集合。每个元素由一个键和一个对应的值组成,键必须是唯一的。字典使用花括号 {} 表示,每个键值对之间用冒号分隔。例如:my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}

 

4.集合(Set):集合是一个无序、不重复的数据集合,用于存储唯一的元素。集合使用花括号 {} set() 函数来创建,元素之间用逗号分隔。例如:my_set = {1, 2, 3, 4, 5} my_set = set([1, 2, 3, 4, 5])

 

5.字符串(String):字符串是一个由字符组成的不可变序列,用于存储文本数据。字符串可以使用单引号或双引号括起来,例如:my_string = "Hello, World!"

 

除了这些内置的数据结构,Python 还提供了其他扩展的数据结构,如命名元组(NamedTuple)、队列(Queue)、堆(Heap)等,这些数据结构可以通过导入相应的模块来使用。

 

另外,Python 还支持自定义数据结构,通过类(Class)来创建自己的数据类型,可以定义数据的属性和方法,并进行封装和抽象。这使得 Python 可以根据特定的需求创建更灵活的数据结构。

 

当然,还有更多 Python 的数据结构:

 

1.堆栈(Stack):堆栈是一种具有后进先出(LIFO)特性的数据结构,类似于一叠盘子。你可以使用列表来实现一个堆栈,通过 append() 方法将元素添加到堆栈顶部,使用 pop() 方法从堆栈顶部移除元素。例如:

 

stack = []

stack.append(1)

stack.append(2)

stack.append(3)

print(stack.pop())  # 输出:3

2.队列(Queue):队列是一种具有先进先出(FIFO)特性的数据结构,类似于排队等候的行列。可以使用 collections 模块中的 deque 类来实现一个队列。例如:

 

from collections import deque

 

queue = deque()

queue.append(1)

queue.append(2)

queue.append(3)

print(queue.popleft())  # 输出:1

 

3.哈希表(Hash Table):哈希表是一种基于哈希函数实现的数据结构,用于高效地存储和检索键值对。Python 中的字典(Dictionary)就是使用哈希表实现的。例如:

 

hash_table = {'name': 'John', 'age': 25, 'city': 'New York'}

print(hash_table['name'])  # 输出:John

 

4.链表(Linked List):链表是一种数据元素按顺序链接的数据结构,每个元素包含一个值和一个指向下一个元素的引用。可以使用自定义类来实现链表,每个节点存储一个值和下一个节点的引用。例如:

 

class Node:

    def __init__(self, value):

        self.value = value

        self.next = None

 

# 创建链表

head = Node(1)

second = Node(2)

third = Node(3)

 

head.next = second

second.next = third

 

# 遍历链表

current = head

while current is not None:

    print(current.value)

    current = current.next

 

5.栈(Queue):栈是一种具有特定限制的线性数据结构,只允许在一端进行插入和删除操作。可以使用 queue 模块中的 LifoQueue 类来实现一个栈。例如:

 

from queue import LifoQueue

 

stack = LifoQueue()

stack.put(1)

stack.put(2)

stack.put(3)

print(stack.get())  # 输出:3

 

这些是 Python 中常用的一些数据结构,每个数据结构都有其特定的特性和用途,可以根据具体的问题选择合适的数据结构来存储和操作数据。

Python常用数据结构

 

Python 提供了多种内置的数据结构,用于存储和组织数据。以下是一些常见的 Python 数据结构:

 

1.列表(List):列表是一个有序、可变的数据集合,可以包含任意类型的元素。列表使用方括号 [] 表示,元素之间用逗号分隔。例如:my_list = [1, 2, 3, 'a', 'b', 'c']

 

2.元组(Tuple):元组是一个有序、不可变的数据集合,可以包含任意类型的元素。元组使用圆括号 () 表示,元素之间用逗号分隔。例如:my_tuple = (1, 2, 3, 'a', 'b', 'c')

 

3.字典(Dictionary):字典是一种键值对(Key-Value)的数据结构,用于存储无序的数据集合。每个元素由一个键和一个对应的值组成,键必须是唯一的。字典使用花括号 {} 表示,每个键值对之间用冒号分隔。例如:my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}

 

4.集合(Set):集合是一个无序、不重复的数据集合,用于存储唯一的元素。集合使用花括号 {} set() 函数来创建,元素之间用逗号分隔。例如:my_set = {1, 2, 3, 4, 5} my_set = set([1, 2, 3, 4, 5])

 

5.字符串(String):字符串是一个由字符组成的不可变序列,用于存储文本数据。字符串可以使用单引号或双引号括起来,例如:my_string = "Hello, World!"

 

除了这些内置的数据结构,Python 还提供了其他扩展的数据结构,如命名元组(NamedTuple)、队列(Queue)、堆(Heap)等,这些数据结构可以通过导入相应的模块来使用。

 

另外,Python 还支持自定义数据结构,通过类(Class)来创建自己的数据类型,可以定义数据的属性和方法,并进行封装和抽象。这使得 Python 可以根据特定的需求创建更灵活的数据结构。

 

当然,还有更多 Python 的数据结构:

 

1.堆栈(Stack):堆栈是一种具有后进先出(LIFO)特性的数据结构,类似于一叠盘子。你可以使用列表来实现一个堆栈,通过 append() 方法将元素添加到堆栈顶部,使用 pop() 方法从堆栈顶部移除元素。例如:

 

stack = []

stack.append(1)

stack.append(2)

stack.append(3)

print(stack.pop())  # 输出:3

2.队列(Queue):队列是一种具有先进先出(FIFO)特性的数据结构,类似于排队等候的行列。可以使用 collections 模块中的 deque 类来实现一个队列。例如:

 

from collections import deque

 

queue = deque()

queue.append(1)

queue.append(2)

queue.append(3)

print(queue.popleft())  # 输出:1

 

3.哈希表(Hash Table):哈希表是一种基于哈希函数实现的数据结构,用于高效地存储和检索键值对。Python 中的字典(Dictionary)就是使用哈希表实现的。例如:

 

hash_table = {'name': 'John', 'age': 25, 'city': 'New York'}

print(hash_table['name'])  # 输出:John

 

4.链表(Linked List):链表是一种数据元素按顺序链接的数据结构,每个元素包含一个值和一个指向下一个元素的引用。可以使用自定义类来实现链表,每个节点存储一个值和下一个节点的引用。例如:

 

class Node:

    def __init__(self, value):

        self.value = value

        self.next = None

 

# 创建链表

head = Node(1)

second = Node(2)

third = Node(3)

 

head.next = second

second.next = third

 

# 遍历链表

current = head

while current is not None:

    print(current.value)

    current = current.next

 

5.栈(Queue):栈是一种具有特定限制的线性数据结构,只允许在一端进行插入和删除操作。可以使用 queue 模块中的 LifoQueue 类来实现一个栈。例如:

 

from queue import LifoQueue

 

stack = LifoQueue()

stack.put(1)

stack.put(2)

stack.put(3)

print(stack.get())  # 输出:3

 

这些是 Python 中常用的一些数据结构,每个数据结构都有其特定的特性和用途,可以根据具体的问题选择合适的数据结构来存储和操作数据。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在