Python中str、list、tuple、dict、set 五大内置数据结构详解

发布时间:2026/7/23 23:39:27
Python中str、list、tuple、dict、set 五大内置数据结构详解 初学 Python最先要攻克的就是内置数据结构字符串、列表、元组、字典、集合贯穿我们几乎所有代码。很多人只会基础增删改查遇到场景选型就一脸迷茫什么时候用列表什么时候选元组集合去重原理是什么字典底层有什么特性本文用通俗语言 实战案例系统梳理 5 大核心数据结构新手友好建议收藏备查一、字符串 str1.1 基本特性1定义使用、、包裹文本2不可变序列创建之后不能直接修改内部字符重新赋值本质是生成新字符串3支持下标索引、切片操作1.2 常用操作s Hello Python # 切片 print(s[0:5]) # Hello # 常用方法 print(s.split()) # 分割字符串 print(s.replace(Python,World)) # 替换 print(s.strip()) # 去除首尾空白 print(s.upper(),s.lower()) # 大小写转换1.3 使用场景存储文本信息用户名、日志、文件路径、文本解析。注意不要频繁循环拼接字符串s s xxx大量拼接推荐.join()提升效率。二、列表 list2.1 基本特性1标识[]有序可变序列2允许元素重复、支持不同类型元素共存3可变支持增、删、改、查2.2 常用操作lst [10,20,30] lst.append(40) # 末尾追加 lst.insert(1,15) # 指定位置插入 lst.remove(20) # 删除指定元素 lst.pop() # 删除末尾并返回元素 lst[0] 99 # 修改元素 print(lst[1:]) # 切片2.3 使用场景有序数据容器最常用存放有序数据、需要随时新增删除元素时优先选 list。短板根据值查找元素速度慢海量数据查询不要只用列表。三、元组 tuple3.1 基本特性1标识()有序不可变序列2一旦创建不能增删修改元素3如果元组内嵌套列表列表里面的数据可以修改元组约束的是引用地址t (1,2,[3,4]) t[2].append(5) # 合法运行3.2 使用场景1数据不允许被修改起到数据保护作用函数返回多个值本质就是元组2可作为字典的 key列表不行3相比列表占用内存更小小技巧只包含一个元素的元组必须写逗号t(10,)t(10)只是数字。四、字典 dict4.1 基本特性1标识{key:value}键值对结构2Python3.7 字典默认有序3key 要求必须是不可变类型str、int、tuplekey 唯一重复 key 会覆盖旧值4查询速度极快底层哈希表实现4.2 常用操作d {name:小明,age:18} print(d[name]) print(d.get(gender,未知)) # get避免键不存在报错 d[age] 19 # 修改/新增 print(d.keys()) # 获取所有键 print(d.values()) # 获取所有值 print(d.items()) # 获取键值对4.3 使用场景需要根据关键字快速查找数据适合存储具备映射关系的数据比如用户信息、配置参数。五、集合 set5.1 基本特性1标识{}无序、元素唯一2可变类型元素同样要求不可变3核心能力自动去重、集合运算交集、并集、差集空集合不能写{}{}代表空字典空集合必须写set()5.2 常用操作s {1,2,3,1} print(s) # {1,2,3} 自动去重 a {1,2,3} b {3,4,5} print(a b) # 交集 {3} print(a | b) # 并集 {1,2,3,4,5} print(a - b) # 差集 {1,2}5.3 使用场景1列表快速去重lst list(set(lst))2判断两组数据重合、差异对比结语以上5种数据结构是Python一切项目的基石爬虫、数据分析、后端开发全部离不开。光看懂不够建议大家动手敲一遍示例代码尝试不同结构互相转换list转 set、dict转list等很快就能熟练掌握。后续我会继续更新数据结构进阶推导式、深浅拷贝、collections高级容器

相关新闻

最新新闻

日新闻

周新闻

月新闻