Python学习笔记函数之嵌套的字典和列表
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
对于上一章列举的井字棋建模相当简单:棋盘只需要一个字典,包括9个键值对。当你对复杂的事物建模时,
可能发现字典和列表中需要包含其他字典和列表。列表适用于包含一组有序的值,字典适合于包含关联的键于值。
例如,下面的程序使用字典包含其他字典,用于记录谁为野餐带来了什么食物。tatalBrought()函数可以读取这个
数据结构,计算所有客人带来的事物的总数。
#------------------------------------------------我是可耻的分割线-------------------------------------------
请看以下示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # # -*- coding:utf-8 -*- # Autor: Li Rong Yang #定义一个字典 allGuests = { 'Alice' :{ 'apples' : 5 , 'pretzels' : 12 }, 'Bob' :{ 'ham sandwiches' : 3 , 'apples' : 2 }, 'Carol' :{ 'cups' : 3 , 'apples' : 1 }} #定义一个函数接收传入的字典和要统计的东西名称 def totalBrought(guests,item): numBrought = 0 #计数 for k,v in guests.items(): #循环字典的键值对分别放入k,v中 numBrought = numBrought + v.get(item, 0 ) #检查要统计的物品是否在子字典中,并把该子字典的值给numBrought return numBrought #返回该值 print ( 'Number of things being brought:' ) #提示信息 print ( ' - Apples ' + str (totalBrought(allGuests, 'apples' ))) #统计apples print ( ' - Cups ' + str (totalBrought(allGuests, 'cups' ))) #cups print ( ' - Cakes ' + str (totalBrought(allGuests, 'cakes' ))) #cakes print ( ' - Ham Sandwiches ' + str (totalBrought(allGuests, 'ham sandwiches' ))) #统计ham sandwiches print ( ' - Apple Pies ' + str (totalBrought(allGuests, 'apple pies' ))) #统计apple pies |
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异