网站建设关键词天津的公司能在北京做网站备案吗

张小明 2026/1/8 9:01:05
网站建设关键词,天津的公司能在北京做网站备案吗,南昌做网站的,焦作seo推广欢迎回到「Python 从入门到实战」系列专栏。上一篇咱们掌握了条件判断#xff0c;让程序能根据不同情况 “做选择”—— 比如给不同角色的用户分配权限。但在处理 “关联数据” 时#xff0c;前面学的列表就显得力不从心了#xff1a;比如要存储 “用户名 - 密码”“商品名 …欢迎回到「Python 从入门到实战」系列专栏。上一篇咱们掌握了条件判断让程序能根据不同情况 “做选择”—— 比如给不同角色的用户分配权限。但在处理 “关联数据” 时前面学的列表就显得力不从心了比如要存储 “用户名 - 密码”“商品名 - 价格”“学生名 - 成绩” 这种 “键 - 值对应” 的信息用列表得遍历才能找到对应关系比如找 “张三” 的成绩要循环整个列表效率很低。今天咱们要学 Python 的 “关联数据神器”——字典Dictionary。它就像一本 “新华字典”“键” 是 “汉字”“值” 是 “拼音和释义”通过 “汉字”键能直接找到 “释义”值不用逐页翻找遍历。学会字典你就能高效存储和查询结构化数据为后面的项目比如用户系统、商品管理打基础。一、为什么需要字典先看列表的 “痛点”在学字典前先明确它能解决什么问题。咱们用 “存储用户信息” 这个场景对比列表和字典的差异场景存储 3 个用户的 “用户名 - 密码”用列表存储低效如果用列表存只能把 “用户名” 和 “密码” 分开存两个列表或者存成 “[用户名密码]” 的小列表。找某个用户的密码时必须遍历python运行# 用列表存储用户信息痛点找密码要遍历users[[zhangsan,123456],[lisi,abcdef],[wangwu,654321]]# 找lisi的密码需要遍历整个列表target_userlisitarget_passwordNoneforuserinusers:ifuser[0]target_user:target_passworduser[1]breakprint(f{target_user}的密码{target_password})# 输出lisi的密码abcdef这种方式有两个大问题查询效率低列表越长遍历时间越久可读性差看到user[0]和user[1]得回忆哪个是用户名、哪个是密码。用字典存储高效字典用 “键值对” 直接关联数据找密码不用遍历直接用 “用户名”键查 “密码”值python运行# 用字典存储用户信息键用户名值密码users{zhangsan:123456,lisi:abcdef,wangwu:654321}# 找lisi的密码直接用键查不用遍历target_passwordusers[lisi]print(flisi的密码{target_password})# 输出lisi的密码abcdef对比很明显字典通过 “键” 直接定位 “值”效率更高而且users[lisi]一看就知道是 “找 lisi 的对应值”可读性更好。这就是字典的核心价值存储 “键 - 值关联” 的数据支持高效查询和修改。接下来咱们从基础用法开始一步步掌握字典的所有核心技能。二、字典基础定义与键值对操作字典在 Python 中用花括号{}定义每个元素是 “键值” 的键值对键和值之间用冒号分隔键值对之间用逗号分隔。格式如下python运行字典名{键1:值1,键2:值2,键3:值3}键Key必须是 “不可变类型”字符串、数字、元组且不能重复重复会覆盖值Value可以是任意类型字符串、数字、列表、甚至字典键值对键和值一一对应一个键只能对应一个值。1. 定义字典从简单到复杂咱们用三个场景演示字典的定义从 “简单键值对” 到 “值为列表 / 字典”▶ 场景 1简单键值对字符串键 字符串值存储商品的 “名称 - 价格”python运行# 定义商品价格字典键商品名值价格product_prices{苹果:5.99,香蕉:3.99,橙子:4.5}print(product_prices)# 输出{苹果: 5.99, 香蕉: 3.99, 橙子: 4.5}▶ 场景 2值为列表一个键对应多个值存储用户的 “名称 - 爱好”一个用户有多个爱好python运行# 定义用户爱好字典键用户名值爱好列表user_hobbies{zhangsan:[篮球,编程],lisi:[阅读,跑步,做饭],wangwu:[游戏,电影]}print(flisi的爱好{user_hobbies[lisi]})# 输出lisi的爱好[阅读, 跑步, 做饭]▶ 场景 3值为字典复杂结构化数据存储用户的 “名称 - 详细信息”包含年龄、性别、地址python运行# 定义用户详细信息字典键用户名值信息字典user_details{zhangsan:{age:20,gender:male,address:北京},lisi:{age:22,gender:female,address:上海}}# 找zhangsan的年龄先查用户字典再查age键print(fzhangsan的年龄{user_details[zhangsan][age]})# 输出zhangsan的年龄202. 访问键值对直接用键查值访问字典中的值核心是 “用键找值”语法是字典名[键]。但要注意如果键不存在会报KeyError键错误。▶ 基础访问存在的键python运行# 商品价格字典product_prices{苹果:5.99,香蕉:3.99}# 访问存在的键苹果apple_priceproduct_prices[苹果]print(f苹果的价格{apple_price}元)# 输出苹果的价格5.99元▶ 避坑访问不存在的键KeyErrorpython运行# 错误示例访问不存在的键葡萄grape_priceproduct_prices[葡萄]# 报错KeyError: 葡萄解决办法用get()方法键不存在时返回默认值不会报错python运行# 用get()访问键不存在时返回默认值0.0grape_priceproduct_prices.get(葡萄,0.0)print(f葡萄的价格{grape_price}元)# 输出葡萄的价格0.0元# 如果不指定默认值键不存在时返回None也不会报错orange_priceproduct_prices.get(橙子)print(f橙子的价格{orange_price})# 输出橙子的价格Noneget()方法是新手必须掌握的 “避坑技能”尤其是处理用户输入或动态数据时能避免因键不存在导致程序崩溃。3. 修改键值对更新已有键的值如果要修改某个键对应的值直接用字典名[键] 新值赋值即可语法和变量赋值类似。场景修改商品价格苹果涨价到 6.99 元python运行# 商品价格字典product_prices{苹果:5.99,香蕉:3.99}# 修改苹果的价格键存在更新值product_prices[苹果]6.99print(f苹果涨价后的价格{product_prices[苹果]}元)# 输出苹果涨价后的价格6.99元注意键不存在时会 “新增” 而非修改如果赋值的键在字典中不存在Python 会自动新增一个键值对python运行# 键葡萄不存在赋值会新增键值对product_prices[葡萄]7.99print(product_prices)# 输出{苹果: 6.99, 香蕉: 3.99, 葡萄: 7.99}4. 添加键值对动态扩展字典字典是 “动态结构”可以随时添加新的键值对语法和修改一样字典名[新键] 新值。场景给用户添加 “年龄” 信息python运行# 初始用户字典只有用户名和密码user{username:zhangsan,password:123456}# 添加年龄键值对user[age]20# 添加性别键值对user[gender]maleprint(user)# 输出{username: zhangsan, password: 123456, age: 20, gender: male}5. 删除键值对彻底移除不需要的数据如果要删除某个键值对用del 字典名[键]语句会彻底删除键和对应的值无法恢复。场景删除用户的 “密码” 键值对避免泄露python运行# 用户字典包含敏感信息passworduser{username:zhangsan,password:123456,age:20}# 删除password键值对deluser[password]print(user)# 输出{username: zhangsan, age: 20}password已删除避坑删除不存在的键KeyError和访问一样删除不存在的键会报KeyError可以先判断键是否存在python运行# 安全删除先判断键是否存在ifpasswordinuser:deluser[password]else:print(键password不存在无需删除)三、字典进阶遍历与嵌套当字典包含多个键值对时需要 “遍历” 来批量处理当数据更复杂时比如多个用户的详细信息需要 “嵌套”字典里放列表、列表里放字典。这两部分是字典的核心应用必须掌握。1. 遍历字典三种常见方式字典不像列表是 “有序序列”Python 3.7 会保留插入顺序但遍历逻辑不变遍历时有三种常见需求遍历所有键、遍历所有值、遍历所有键值对。▶ 方式 1遍历所有键默认如果只需要字典的键直接用for 键 in 字典遍历默认遍历键python运行# 商品价格字典product_prices{苹果:5.99,香蕉:3.99,橙子:4.5}# 遍历所有键默认遍历键print(所有商品名称)forproductinproduct_prices:print(f-{product})运行结果plaintext所有商品名称 - 苹果 - 香蕉 - 橙子也可以用keys()方法显式遍历键可读性更好python运行forproductinproduct_prices.keys():print(f-{product})# 结果和上面一样▶ 方式 2遍历所有值如果只需要字典的值用values()方法python运行# 遍历所有值print(所有商品价格)forpriceinproduct_prices.values():print(f-{price}元)运行结果plaintext所有商品价格 - 5.99元 - 3.99元 - 4.5元▶ 方式 3遍历所有键值对最常用如果需要同时处理键和值用items()方法会返回 “(键值)” 的元组python运行# 遍历所有键值对同时处理商品名和价格print(商品价格表)forproduct,priceinproduct_prices.items():print(f{product}{price}元)运行结果plaintext商品价格表 苹果5.99元 香蕉3.99元 橙子4.5元这里的product和price是 “解包”—— 把items()返回的元组(商品名, 价格)拆成两个变量方便使用。进阶按特定顺序遍历键如果需要按 “字母顺序” 或 “数字顺序” 遍历键用sorted()函数对键排序python运行# 按字母顺序遍历商品名print(按字母顺序排列的商品)forproductinsorted(product_prices.keys()):print(f-{product})运行结果按拼音首字母排序plaintext按字母顺序排列的商品 - 苹果 - 橙子 - 香蕉2. 字典嵌套三种实用场景嵌套是处理复杂数据的核心手段Python 支持 “字典列表”“列表字典”“字典字典” 三种常见嵌套方式每种方式对应不同的场景。▶ 场景 1字典列表多个相似对象当需要存储 “多个相似结构的对象”比如多个用户、多个商品时用 “列表包含字典” 的结构每个字典代表一个对象。示例存储 3 个商品的详细信息python运行# 字典列表每个元素是商品字典包含名称、价格、库存products[{name:苹果,price:5.99,stock:100},{name:香蕉,price:3.99,stock:200},{name:橙子,price:4.5,stock:150}]# 遍历字典列表打印商品信息forproductinproducts:print(f商品{product[name]})print(f 价格{product[price]}元)print(f 库存{product[stock]}件\n)运行结果节选plaintext商品苹果 价格5.99元 库存100件 商品香蕉 价格3.99元 库存200件▶ 场景 2列表字典一个对象的多个同类属性当需要存储 “一个对象的多个同类属性”比如一个用户的多个爱好、一个商品的多个标签时用 “字典的键对应列表” 的结构。示例存储用户的详细信息包含多个爱好python运行# 列表字典键对应列表hobbies是列表address是字典user{username:zhangsan,age:20,hobbies:[篮球,编程,阅读],# 列表多个爱好address:{# 字典地址的详细信息city:北京,district:海淀区,street:中关村大街}}# 访问列表属性hobbiesprint(f{user[username]}的爱好)forhobbyinuser[hobbies]:print(f-{hobby})# 访问嵌套字典属性addressprint(f\n{user[username]}的地址)print(f{user[address][city]}{user[address][district]}{user[address][street]})运行结果plaintextzhangsan的爱好 - 篮球 - 编程 - 阅读 zhangsan的地址 北京海淀区中关村大街▶ 场景 3字典字典多个对象的复杂属性当需要存储 “多个对象的复杂属性”比如多个用户的详细信息每个用户有地址、爱好时用 “字典包含字典” 的结构外层键是对象标识比如用户名内层字典是对象的详细属性。示例存储多个用户的详细信息python运行# 字典字典外层键是用户名内层字典是用户详细信息users{zhangsan:{age:20,hobbies:[篮球,编程],address:北京},lisi:{age:22,hobbies:[阅读,跑步],address:上海}}# 遍历字典字典打印每个用户的信息forusername,user_infoinusers.items():print(f\n用户名{username})print(f 年龄{user_info[age]}岁)print(f 爱好{, .join(user_info[hobbies])})# 列表转字符串print(f 地址{user_info[address]})运行结果节选plaintext用户名zhangsan 年龄20岁 爱好篮球, 编程 地址北京 用户名lisi 年龄22岁 爱好阅读, 跑步 地址上海四、综合实操商品库存管理系统咱们结合 “字典嵌套 循环 条件判断”做一个 “商品库存管理系统”实现以下功能用 “字典列表” 存储商品信息名称、价格、库存遍历商品列表打印库存清单根据商品名修改库存比如卖出 5 件苹果库存减少 5筛选库存不足 50 件的 “缺货商品”计算所有商品的总价值价格 × 库存。完整代码python运行# 商品库存管理系统print( 商品库存管理系统 )# 1. 初始化商品列表字典列表products[{name:苹果,price:5.99,stock:100},{name:香蕉,price:3.99,stock:45},# 库存不足50{name:橙子,price:4.5,stock:150},{name:葡萄,price:7.99,stock:30}# 库存不足50]# 2. 打印当前库存清单print(\n【当前库存清单】)print(f{商品名:8}{价格(元):10}{库存(件):10})print(-*30)forproductinproducts:print(f{product[name]:8}{product[price]:10.2f}{product[stock]:10})# 3. 修改商品库存比如卖出5件苹果target_product苹果sell_count5forproductinproducts:ifproduct[name]target_product:ifproduct[stock]sell_count:product[stock]-sell_countprint(f\n【库存修改】卖出{sell_count}件{target_product}剩余库存{product[stock]}件)else:print(f\n【库存不足】{target_product}库存只有{product[stock]}件无法卖出{sell_count}件)breakelse:print(f\n【商品不存在】未找到{target_product})# 4. 筛选缺货商品库存50件print(\n【缺货商品清单】库存50件)shortage_products[pforpinproductsifp[stock]50]# 列表推导式ifshortage_products:forproductinshortage_products:print(f-{product[name]}{product[stock]}件)else:print(无缺货商品)# 5. 计算所有商品的总价值total_value0forproductinproducts:total_valueproduct[price]*product[stock]print(f\n【库存总价值】所有商品总价值{total_value:.2f}元)print(\n)运行结果plaintext 商品库存管理系统 【当前库存清单】 商品名 价格(元) 库存(件) ------------------------------ 苹果 5.99 100 香蕉 3.99 45 橙子 4.50 150 葡萄 7.99 30 【库存修改】卖出5件苹果剩余库存95件 【缺货商品清单】库存50件 - 香蕉45件 - 葡萄30件 【库存总价值】所有商品总价值1649.15元 这个系统整合了字典的核心用法用字典列表存储复杂商品信息用遍历处理所有商品用条件判断修改库存和筛选缺货商品 —— 这就是字典在实际项目中的典型应用比单纯用列表高效得多。五、新手必踩的 4 个坑避坑指南字典的用法灵活但新手容易在细节上出错导致逻辑错误或报错。咱们总结 4 个高频坑点坑 1用列表当键键必须是不可变类型字典的键必须是 “不可变类型”字符串、数字、元组列表是 “可变类型”不能当键python运行# 错误示例用列表当键user{[zhangsan,lisi]:friends}# 报错TypeError: unhashable type: list原因列表可以修改比如 append 元素而键需要 “唯一且不可变”。正确做法用元组当键如果需要多个值当键python运行# 正确示例用元组当键user_pair(zhangsan,lisi)relationship{user_pair:friends}print(relationship[user_pair])# 输出friends坑 2键重复后定义的会覆盖前定义的字典的键不能重复重复定义会覆盖前面的值python运行# 错误示例键重复后值覆盖前值product_prices{苹果:5.99,苹果:6.99}print(product_prices[苹果])# 输出6.995.99被覆盖解决办法定义前检查键是否存在或用if 键 not in 字典判断。坑 3混淆 “遍历键” 和 “遍历值”新手容易误以为for x in 字典遍历的是值实际默认遍历的是键python运行# 错误示例误以为遍历的是值product_prices{苹果:5.99,香蕉:3.99}forxinproduct_prices:print(x)# 输出苹果 香蕉遍历的是键不是值正确做法遍历值用for x in product_prices.values()。坑 4嵌套访问时漏层多嵌套要逐层查访问嵌套字典时容易漏层导致报错比如直接访问user[city]而不是user[address][city]python运行# 错误示例嵌套访问漏层user{name:zhangsan,address:{city:北京}}print(user[city])# 报错KeyError: city# 正确做法逐层访问print(user[address][city])# 输出北京六、小结与下一篇预告这篇你学到了什么字典基础用{}定义键值对通过 “键” 访问 / 修改 / 添加 / 删除 “值”用get()避免键错误字典遍历遍历键keys()、遍历值values()、遍历键值对items()用sorted()按顺序遍历字典嵌套字典列表多个对象、列表字典一个对象的多个同类属性、字典字典多个对象的复杂属性实战应用结合循环和条件判断实现商品库存管理高效处理关联数据避坑要点键必须是不可变类型避免键重复嵌套访问要逐层查。下一篇预告今天的字典让我们能高效存储关联数据但当代码越来越长时重复的逻辑比如 “计算商品总价值”“筛选缺货商品”会导致代码冗余。下一篇咱们会学 Python 的 “代码复用神器”——函数把重复的逻辑封装成函数调用时只需一行代码让程序更简洁、更易维护。如果这篇内容帮你掌握了字典欢迎在评论区分享你的 “商品库存管理系统” 改进版本比如添加 “新增商品” 功能咱们一起交流进步
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站设计网页版wordpress 别名获取id

透明度选项的新控制与位置及应用技巧 在设计工作中,对对象透明度的调整是一项常见且重要的操作。在相关软件里,有两种修改对象透明度的方法:使用属性栏控件和对象上的交互式标记(或节点)。对于老版本用户,沿用旧操作方式时可能会有些迷茫;而新用户会发现,新增的透明度…

张小明 2026/1/2 2:03:08 网站建设

个人怎样建网站赚钱自在源码网

在资本市场波动调整的当下,伊犁川宁生物技术股份有限公司(股票代码:301301.SZ)一则重磅公告引发市场广泛关注。作为国内生物发酵技术领域的标杆企业,川宁生物控股股东基于对公司长远发展的坚定信念与对全体股东利益的高…

张小明 2026/1/2 2:03:07 网站建设

网站开发南京招聘python 网站开发流程图

还在为制作专业图表而头疼吗?这款革命性的在线图表制作工具将彻底改变你的工作方式!只需简单文本输入,就能实时生成精美流程图、序列图、甘特图等多种图表类型。在线图表制作从未如此简单高效,无论你是技术文档编写者、项目管理者…

张小明 2026/1/2 2:03:04 网站建设

手机网站建设哪家公司好wordpress基于什么框架

第一章:Azure CLI量子作业结果导出概述在使用 Azure Quantum 服务执行量子计算任务时,获取和分析作业输出是关键步骤。Azure CLI 提供了与量子工作区交互的命令行接口,支持提交作业、监控状态以及导出结果数据。通过合理使用 CLI 命令&#x…

张小明 2026/1/2 3:52:16 网站建设

网站模板免费推荐东莞网站外包

Dify平台构建AI健身教练:个性化运动计划的智能实现 在现代都市生活中,越来越多的人开始关注健康管理与科学锻炼。但真正坚持下来的却不多——原因往往不是缺乏意志力,而是缺少一个懂自己、能陪伴、会调整的“私人教练”。传统健身服务受限于…

张小明 2026/1/2 3:52:14 网站建设

淄博免费网站建设百度百科优化排名

还在为无法保存喜欢的B站视频而困扰吗?想不想拥有一套完整的视频下载解决方案?DownKyi作为专业的B站视频下载工具,能够帮你轻松实现从单视频收藏到批量下载的各种需求。 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视…

张小明 2026/1/2 3:52:12 网站建设