Python 中常用的内置数据结构

1. 列表 (List)

列表是一种有序、可变的集合,可以存储任意类型的元素。使用方括号 [] 定义。

python 复制代码
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")  # 添加元素
print(fruits)  # 输出: ['apple', 'banana', 'cherry', 'orange']

2. 元组 (Tuple)

元组是一种有序、不可变的集合,可以存储任意类型的元素。使用小括号 () 定义。

python 复制代码
coordinates = (10, 20)
print(coordinates[0])  # 输出: 10

# 尽管元组本身是不可变的,但元组中的可变元素(如列表)仍然可以改变
nested_tuple = (1, [2, 3])
nested_tuple[1][0] = 4
print(nested_tuple)  # 输出: (1, [4, 3])

如果元组中只有一个元素那么需要在元素后面添加一个逗号。

python 复制代码
single_element_tuple = (42,)
print(type(single_element_tuple))  # 输出: <class 'tuple'>
print(single_element_tuple)        # 输出: (42,)

3. 字典 (Dictionary)

字典是一种无序的键值对集合,键必须是唯一的,值可以是任意类型。使用花括号 {} 定义。

python 复制代码
person = {"name": "Alice", "age": 30}
person["city"] = "New York"  # 添加键值对
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

4. 集合 (Set)

集合是一种无序、不重复元素的集合。使用花括号 {}set() 函数定义。

python 复制代码
unique_numbers = {1, 2, 3, 4}
unique_numbers.add(5)  # 添加元素
print(unique_numbers)  # 输出: {1, 2, 3, 4, 5}

5. 字符串 (String)

字符串是字符的有序集合,用单引号 ' 或双引号 " 定义。字符串是不可变的。

python 复制代码
message = "Hello, World!"
print(message.upper())  # 输出: 'HELLO, WORLD!'

6. 队列 (Queue)

队列是一种先进先出 (FIFO) 的数据结构。可以使用 collections.deque 模块来实现队列。

python 复制代码
from collections import deque

queue = deque(["Alice", "Bob", "Charlie"])
queue.append("Dave")  # 添加元素到队列末尾
print(queue.popleft())  # 输出: 'Alice' 并移除

7. 堆栈 (Stack)

堆栈是一种后进先出 (LIFO) 的数据结构。列表可以用作堆栈。

python 复制代码
stack = [1, 2, 3]
stack.append(4)  # 添加元素到堆栈顶部
print(stack.pop())  # 输出: 4 并移除

8. 队列 (Priority Queue)

优先队列可以使用 heapq 模块实现,它允许以元素的优先级顺序来访问元素。

python 复制代码
import heapq

heap = [1, 3, 5, 7]
heapq.heappush(heap, 2)  # 添加元素并保持堆的属性
print(heapq.heappop(heap))  # 输出: 1 并移除

9. 有序字典 (OrderedDict)

OrderedDict 是一种记住插入顺序的字典,使用 collections 模块。

python 复制代码
from collections import OrderedDict

ordered_dict = OrderedDict()
ordered_dict["one"] = 1
ordered_dict["two"] = 2
print(ordered_dict)  # 输出: OrderedDict([('one', 1), ('two', 2)])

10. 默认字典 (defaultdict)

defaultdict 是一种带有默认值的字典,使用 collections 模块。

python 复制代码
from collections import defaultdict

default_dict = defaultdict(int)
default_dict["count"] += 1
print(default_dict)  # 输出: defaultdict(<class 'int'>, {'count': 1})

总结

这些内置数据结构在处理不同类型的数据时非常有用。选择合适的数据结构可以提高代码的效率和可读性。理解和善用这些数据结构是高效编程的重要一环。

相关推荐
与己斗其乐无穷11 分钟前
数据结构(3)线性表-链表-单链表
数据结构·链表
双叶83614 分钟前
(C语言)超市管理系统 (正式版)(指针)(数据结构)(清屏操作)(文件读写)
c语言·开发语言·数据结构·c++·windows
言之。19 分钟前
Python3 简易DNS服务器实现
python·dns
正在走向自律20 分钟前
GpuGeek 网络加速:破解 AI 开发中的 “最后一公里” 瓶颈
网络·人工智能·python·机器学习·性能优化·gpugeek
末央&38 分钟前
【数据结构】手撕AVL树(万字详解)
数据结构·c++
序属秋秋秋40 分钟前
《数据结构初阶》【二叉树 精选9道OJ练习】
c语言·数据结构·c++·算法·leetcode
IT小郭.41 分钟前
使用 Docker Desktop 安装 Neo4j 知识图谱
windows·python·sql·docker·知识图谱·database·neo4j
Tiny番茄42 分钟前
LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
数据结构·算法·leetcode
qh0526wy2 小时前
金融接口基方法Python
windows·python·金融
xixixin_2 小时前
【Vite】前端开发服务器的配置
服务器·前端·网络