Python-元组、字典与集合
今天学另外三种容器元组不可变列表、字典键值对、集合不重复。一、元组 Tuple1.1 特点有序、不可变创建后不能增删改元素用圆括号()表示可以作为字典的 key列表不行1.2 创建与访问t1 (1, 2, 3) t2 1, 2, 3 # 括号可省略 t3 tuple([1, 2, 3]) # ⚠️ 单元素元组必须加逗号 t4 (42,) # 元组 t5 (42) # 这是 int 42不是元组 print(t1[0]) # 1 print(t1[-1]) # 3 print(t1[1:3]) # (2, 3) print(len(t1)) # 31.3 不可变性t (1, 2, 3) # t[0] 10 # TypeError! # 但如果元素是可变对象如列表列表内容可以变 t2 (1, [2, 3]) t2[1].append(4) # 合法t2 变为 (1, [2, 3, 4])1.4 元组解包point (10, 20) x, y point # 交换变量经典用法 a, b 1, 2 a, b b, a # 带 * 的解包 first, *rest (1, 2, 3, 4, 5) print(first) # 1 print(rest) # [2, 3, 4, 5]1.5 函数返回多个值def get_user(): return 张三, 20, 北京 # 实际返回元组 name, age, city get_user()二、字典 Dictionary2.1 特点键值对key-value存储键不可变且唯一str、int、tuple 等Python 3.7保持插入顺序可变类比字典像通讯录——通过姓名key查找电话value。2.2 创建d1 {name: 张三, age: 20, city: 北京} d2 dict(name李四, age22) d3 dict([(a, 1), (b, 2)]) d4 {} # 空字典2.3 增删改查person {name: 张三, age: 20} # 查 print(person[name]) # 键不存在 → KeyError print(person.get(phone, 无)) # 安全访问默认值 # 增 / 改同一个操作 person[phone] 13800138000 # 新增 person[age] 21 # 修改 # 删 del person[phone] value person.pop(age) # 删除并返回值 person.clear()2.4 常用方法d {a: 1, b: 2, c: 3} print(d.keys()) # dict_keys print(d.values()) # dict_values print(d.items()) # dict_items print(len(d)) # 3 # 遍历 for key in d: print(key, d[key]) for key, value in d.items(): print(f{key} - {value})2.5 字典推导式squares {x: x**2 for x in range(6)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}2.6 合并字典d1 {a: 1, b: 2} d2 {b: 3, c: 4} merged d1 | d2 # {a: 1, b: 3, c: 4}三、集合 Set3.1 特点无序、不重复、可变基于哈希表成员检测极快用{}表示但{}是空字典空集合用set()3.2 创建s1 {1, 2, 3} s2 set([1, 2, 2, 3]) # {1, 2, 3} 自动去重 s3 set(hello) # {h, e, l, o} s4 set() # 空集合3.3 增删s {1, 2, 3} s.add(4) s.update([5, 6]) s.remove(1) # 不存在报 KeyError s.discard(10) # 不存在不报错 s.pop() # 随机弹出一个 s.clear()3.4 集合运算a {1, 2, 3, 4} b {3, 4, 5, 6} print(a | b) # 并集 {1,2,3,4,5,6} print(a b) # 交集 {3, 4} print(a - b) # 差集 {1, 2} print(a ^ b) # 对称差集 {1, 2, 5, 6}3.5 应用场景去重list(set(lst))成员检测比列表快数学集合运算四、五大容器总结类型有序可变重复语法典型用途str✅❌✅abc文本list✅✅✅[1,2]动态数据tuple✅❌✅(1,2)固定数据、函数返回dict✅✅key唯一{k:v}映射关系set❌✅❌{1,2}去重、集合运算五、练习题基础题1.创建元组(1,2,3,4,5)取第一个、最后一个、中间三个。2.创建学生字典完成增删改查。3.统计hello world hello python每个单词出现次数用字典。4.列表[1,2,2,3,3,3,4]用 set 去重。5.a{1,2,3,4}和b{3,4,5,6}求交集、并集、差集。进阶题6.合并两个字典键冲突时保留第二个的值。7.找出两个列表的共同元素用 set。参考答案点击展开参考答案# 1. t (1, 2, 3, 4, 5) print(t[0], t[-1], t[1:4]) # 3. 词频 text hello world hello python count {} for word in text.split(): count[word] count.get(word, 0) 1 # 4. lst [1, 2, 2, 3, 3, 3, 4] unique list(set(lst)) # 6. d1 {a: 1, b: 2} d2 {b: 3, c: 4} merged d1 | d2 # 7. a [1, 2, 3, 4] b [3, 4, 5, 6] common list(set(a) set(b))

相关新闻

Godot 4七日实战:从零构建回合制RPG核心系统与架构设计

Godot 4七日实战:从零构建回合制RPG核心系统与架构设计

1. 项目概述:为什么选择Godot 4做回合制RPG?如果你一直想做一个属于自己的回合制角色扮演游戏,但被Unity的复杂管线、Unreal的庞大体积或者纯粹是编程的入门门槛给劝退了,那么Godot 4可能就是为你量身定制的答案。我花了将近一周时…

2026/8/11 2:55:12 阅读更多 →
Java开发必备的12个DOS命令详解与实战应用

Java开发必备的12个DOS命令详解与实战应用

1. DOS命令在Java开发中的核心价值作为一名从Dos时代走过来的Java开发者,我深刻体会到命令行操作在现代开发中的不可替代性。即使现在IDE功能强大,但掌握基础Dos命令仍然是Java程序员的必修课。特别是在环境配置、文件操作和进程管理场景下,命…

2026/8/11 16:58:38 阅读更多 →
微表面模型与镜面反射BRDF:从理论到Shader实现

微表面模型与镜面反射BRDF:从理论到Shader实现

1. 项目概述:为什么微表面模型是PBR的基石? 如果你接触过现代游戏、影视特效或者实时渲染引擎,那么“PBR”这个词对你来说一定不陌生。PBR,即基于物理的渲染,它早已不是前沿实验室里的概念,而是成为了工业界…

2026/8/11 18:14:34 阅读更多 →

最新新闻

企业微信外部群消息推送技术实践与避坑指南

企业微信外部群消息推送技术实践与避坑指南

1. 企业微信外部群推送的技术挑战与价值企业微信作为企业级通讯工具,其API能力在业务场景中的应用越来越广泛。其中,外部群消息推送功能是企业与客户、合作伙伴沟通的重要桥梁。但在实际开发中,这个看似简单的功能却暗藏玄机。我曾在三个不同…

2026/8/13 6:43:07 阅读更多 →
Webhook技术实现餐饮支付即会员自动化方案

Webhook技术实现餐饮支付即会员自动化方案

1. 项目背景与核心价值餐饮行业正经历一场数字化会员运营的变革。过去三年,头部餐饮品牌的私域会员复购率平均达到38%,是非会员顾客的2.7倍(数据来源:2023中国餐饮数字化白皮书)。但传统会员体系存在两个致命痛点&…

2026/8/13 6:43:07 阅读更多 →
基于PSO算法的光伏MPPT控制Simulink仿真实践

基于PSO算法的光伏MPPT控制Simulink仿真实践

1. 项目背景与核心价值 光伏发电系统在实际运行中面临的最大挑战就是如何从不断变化的光照条件下提取最大功率。传统MPPT(最大功率点跟踪)算法如扰动观察法、电导增量法在动态响应速度和抗干扰能力上存在明显局限。而粒子群优化算法(PSO&…

2026/8/13 6:43:07 阅读更多 →
三步搞定Wi-Fi信号可视化:wifi-heat-mapper终极使用指南

三步搞定Wi-Fi信号可视化:wifi-heat-mapper终极使用指南

三步搞定Wi-Fi信号可视化:wifi-heat-mapper终极使用指南 【免费下载链接】wifi-heat-mapper whm also known as wifi-heat-mapper is a Python library for benchmarking Wi-Fi networks and gather useful metrics that can be converted into meaningful easy-to-…

2026/8/13 6:43:06 阅读更多 →
AUTOSAR架构下DoIP与SomeIP协同实现车载以太网诊断通信

AUTOSAR架构下DoIP与SomeIP协同实现车载以太网诊断通信

1. 项目概述:从SomeIP到DoIP的通信桥梁在车载以太网和AUTOSAR Adaptive Platform的架构下,SomeIP(Scalable service-Oriented MiddlewarE over IP)作为服务通信的核心协议,已经为软件定义汽车提供了强大的服务发现与远…

2026/8/13 6:43:06 阅读更多 →
安全运营工程师面试复盘:从WAF验证到应急响应的实战能力解析

安全运营工程师面试复盘:从WAF验证到应急响应的实战能力解析

1. 从“安全验证”页面到安全运营:一次校招面试的深度复盘最近在各大技术社区和求职论坛上,总能看到“本网站使用安全服务防护恶意自动程序。在验证您不是自动程序期间,将显示此页面”这样的提示。这个看似简单的拦截页面,背后其实…

2026/8/13 6:42:06 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 1:11:09 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/12 1:11:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/12 1:11:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →