当前位置: 首页 > news >正文

Python中几个重要的集合

Python中几个重要的集合(Collection)类型,包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)

1. 列表(List)

说明

列表是Python中最常用的数据结构之一,它是一个有序的数据集合,可以包含不同类型的元素。列表是可变的,意味着你可以添加、删除或修改列表中的元素。

示例
# 创建一个列表
my_list = [1, 2, 3, 'a', 'b', True]# 访问列表元素
print(my_list[0])  # 输出: 1# 列表切片
print(my_list[1:3])  # 输出: [2, 3]# 修改列表元素
my_list[0] = 'first'
print(my_list)  # 输出: ['first', 2, 3, 'a', 'b', True]# 添加元素
my_list.append(4)
print(my_list)  # 输出: ['first', 2, 3, 'a', 'b', True, 4]# 插入元素
my_list.insert(1, 'second')
print(my_list)  # 输出: ['first', 'second', 2, 3, 'a', 'b', True, 4]# 删除元素
my_list.remove('a')
print(my_list)  # 输出: ['first', 'second', 2, 3, 'b', True, 4]# 使用pop()删除并返回最后一个元素
last_element = my_list.pop()
print(last_element)  # 输出: 4
print(my_list)  # 输出: ['first', 'second', 2, 3, 'b', True]
使用场景
  • 存储一系列有序的元素,如用户列表、产品列表等。
  • 当你需要频繁地插入、删除或修改元素时。

2. 元组(Tuple)

说明

元组与列表类似,也是一个有序的数据集合,但它是不可变的。一旦创建,就不能更改元组中的元素。元组使用圆括号()定义。

示例
# 创建一个元组
my_tuple = (1, 2, 3, 'a', 'b')# 访问元组元素
print(my_tuple[0])  # 输出: 1# 元组切片
print(my_tuple[1:3])  # 输出: (2, 3)# 尝试修改元组元素(会引发TypeError)
# my_tuple[0] = 'first'  # 这是不允许的# 创建包含可变元素的元组(但你不能更改这些可变元素在元组中的位置)
mutable_tuple = ([1, 2], 3, 'a')
mutable_tuple[0].append(4)  # 这是允许的,因为列表是可变的
print(mutable_tuple)  # 输出: ([1, 2, 4], 3, 'a')
使用场景
  • 存储不应该被更改的数据,如坐标点、数据库中的记录等。
  • 作为字典的键(因为字典的键必须是不可变的)。

3. 集合(Set)

说明

集合是一个无序的、不包含重复元素的数据集合。集合是可变的,支持添加和删除元素,但不支持通过索引访问元素。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集。

示例
# 创建一个集合
my_set = {1, 2, 3, 3, 'a'}  # 重复元素自动被忽略# 添加元素
my_set.add(4)
print(my_set)  # 输出: {1, 2, 3, 'a', 4}# 删除元素
my_set.remove(3)
print(my_set)  # 输出: {1, 2, 'a', 4}# 使用discard()删除元素(如果元素不存在,不会引发错误)
my_set.discard(5)# 集合的并集
set1 = {1, 2, 3}
set2 = {2, 3, 4, 5}
union_set = set1.union(set2)
print(union_set)  # 输出: {1, 2, 3, 4, 5}# 集合的交集
intersection_set = set1.intersection(set2)
print(intersection_set)  # 输出: {2, 3}# 集合的差集
difference_set = set1.difference(set2)
print(difference_set)  # 输出: {1}# 集合的对称差集
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set)  # 输出: {1, 4, 5}
使用场景
  • 去除重复元素。
  • 数学上的集合操作,如求两个集合的并集、交集、差集等。
  • 在不关心元素顺序的场景下,集合提供了比列表更高效的元素检查(成员测试)操作。

4. 字典(Dictionary)

说明

字典是Python中另一个非常强大的数据结构,它存储的是键值对(key-value pairs)的集合。字典是可变的,可以添加、删除或修改键值对。字典的键必须是唯一的,且必须是不可变的(如字符串、数字或元组)。

示例
# 创建一个字典
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}# 访问字典元素
print(my_dict['name'])  # 输出: John# 修改字典元素
my_dict['age'] = 31
print(my_dict)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York'}# 添加新的键值对
my_dict['job'] = 'Engineer'
print(my_dict)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York', 'job': 'Engineer'}# 删除键值对
del my_dict['city']
print(my_dict)  # 输出: {'name': 'John', 'age': 31, 'job': 'Engineer'}# 使用pop()删除键值对并返回其值
job = my_dict.pop('job')
print(job)  # 输出: Engineer
print(my_dict)  # 输出: {'name': 'John', 'age': 31}
使用场景
  • 存储需要快速查找的数据,如用户信息、商品信息等。
  • 当数据的每个元素都由两部分组成(如键和值)时。
  • 在需要唯一键的场景下,字典提供了比列表更高效的数据存储和检索方式。

总结

Python中的集合类型(List, Tuple, Set, Dictionary)各自具有独特的特点和使用场景。列表是有序且可变的,适合存储需要经常修改的有序数据;元组是不可变的,适合存储不应该被更改的数据;集合是无序且唯一的,适合进行数学上的集合操作;字典则通过键值对存储数据,提供了高效的数据检索和存储方式。了解并熟练使用这些集合类型,对于编写高效、可读的Python代码至关重要。

http://www.lryc.cn/news/392441.html

相关文章:

  • 【JS】纯web端使用ffmpeg实现的视频编辑器-视频合并
  • 解决Python用xpath爬取不到数据的一个思路
  • C#面:如何把一个array复制到arrayist里
  • 解决前后端同一个端口跨域问题
  • 《C语言》认识数据类型和理解变量
  • 【ARM 常见汇编指令学习 7.1 -- LDRH 半字读取指令】
  • C++期末整理
  • 技术派Spring事件监听机制及原理
  • 秋招突击——设计模式补充——简单工厂模式和策略模式
  • SwiftUI中List的liststyle样式及使用详解添加、移动、删除、自定义滑动
  • PostgreSQL的系统视图pg_stats
  • UML2.0-系统架构师(二十四)
  • leetcode 152. 乘积最大子数组「贪心」「动态规划」
  • Android项目目录结构
  • 网络安全--计算机网络安全概述
  • 用requirements.txt配置环境
  • APP渗透-android12夜神模拟器+Burpsuite实现
  • 源码扭蛋机开发初探
  • Patch SCN使用说明---惜分飞
  • 【微服务架构的守护神】Eureka与服务熔断深度解析
  • 使用label-studio对OCR数据进行预标注
  • 嵌入式linux sqlite3读写demo
  • vue实现搜索文章关键字,滑到指定位置并且高亮
  • Stable Diffusion与AI艺术:探索人工智能的创造力
  • 华为HCIP Datacom H12-821 卷26
  • golang 获取系统的主机 CPU 内存 磁盘等信息
  • Infinitar链游新发展新机遇
  • Figma 被爆出它剽窃了苹果的设计后撤下了AI工具Make Designs
  • ERROR | Web server failed to start. Port 8080 was already in use.
  • C++ 类和对象 构造函数