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})

总结

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

相关推荐
HPC_fac1305206781630 分钟前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
yaoxin5211232 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书3 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
小二·5 小时前
java基础面试题笔记(基础篇)
java·笔记·python
搬砖的小码农_Sky6 小时前
C语言:数组
c语言·数据结构
sinat_384241096 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
小喵要摸鱼6 小时前
Python 神经网络项目常用语法
python
Kkooe7 小时前
GitLab|数据迁移
运维·服务器·git
先鱼鲨生7 小时前
数据结构——栈、队列
数据结构