关于Python字典(Dictionary)操作详解_环球速递
目录
一、创建字典二、访问字典里的值三、修改字典四、删除字典元素五、字典键的特性六、字典内置函数&方法Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
(资料图片)
一、创建字典
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:
dict = {"Alice": "2341", "Beth": "9102", "Cecil": "3258"}
也可如此创建字典
dict1 = { "abc": 456 } dict2 = { "abc": 123, 98.6: 37 }
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。 键必须独一无二,但值则不必。 值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
二、访问字典里的值
把相应的键放入熟悉的方括弧,如下实例:
dict = {"Name": "Zara", "Age": 7, "Class": "First"}; print "dict["Name"]: ", dict["Name"]; print "dict["Age"]: ", dict["Age"]; #以上实例输出结果: #dict["Name"]: Zara #dict["Age"]: 7
如果用字典里没有的键访问数据,会输出错误如下:
dict = {"Name": "Zara", "Age": 7, "Class": "First"}; print "dict["Alice"]: ", dict["Alice"];
以上实例输出结果:
#KeyError: "Alice"
三、修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict = {"Name": "Zara", "Age": 7, "Class": "First"}; dict["Age"] = 8; # update existing entry dict["School"] = "DPS School"; # Add new entry print "dict["Age"]: ", dict["Age"]; print "dict["School"]: ", dict["School"];
#以上实例输出结果:
#dict["Age"]: 8 #dict["School"]: DPS School
四、删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。 显示删除一个字典用del命令,如下实例:
dict = {"Name": "Zara", "Age": 7, "Class": "First"}; del dict["Name"]; # 删除键是"Name"的条目 dict.clear(); # 清空词典所有条目 del dict ; # 删除词典 print "dict["Age"]: ", dict["Age"]; print "dict["School"]: ", dict["School"]; #但这会引发一个异常,因为用del后字典不再存在: dict["Age"]:
五、字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。 两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict = {"Name": "Zara", "Age": 7, "Name": "Manni"}; print "dict["Name"]: ", dict["Name"]; #以上实例输出结果: #dict["Name"]: Manni
2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:
dict = {["Name"]: "Zara", "Age": 7}; print "dict["Name"]: ", dict["Name"]; #以上实例输出结果: #TypeError: list objects are unhashable
六、字典内置函数&方法
Python字典包含了以下内置函数:
cmp(dict1, dict2) #比较两个字典元素。
len(dict) #计算字典元素个数,即键的总数。
str(dict) #输出字典可打印的字符串表示。
type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
radiansdict.clear() #删除字典内所有元素
radiansdict.copy() #返回一个字典的浅复制
radiansdict.fromkeys() #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None) #返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key) #如果键在字典dict里返回true,否则返回false
radiansdict.items() #以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys() #以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None) #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2) #把字典dict2的键/值对更新到dict里
radiansdict.values() #以列表返回字典中的所有值
七、字典练习代码
print("""|---欢迎进入通讯录程序---| |---1、 查询联系人资料---| |---2、 插入新的联系人---| |---3、 删除已有联系人---| |---4、 退出通讯录程序---|""") addressBook={}#定义通讯录 while 1: temp=input("请输入指令代码:") if not temp.isdigit(): print("输入的指令错误,请按照提示输入") continue item=int(temp)#转换为数字 if item==4: print("|---感谢使用通讯录程序---|") break name = input("请输入联系人姓名:") if item==1: if name in addressBook: print(name,":",addressBook[name]) continue else: print("该联系人不存在!") if item==2: if name in addressBook: print("您输入的姓名在通讯录中已存在-->>",name,":",addressBook[name]) isEdit=input("是否修改联系人资料(Y/N):") if isEdit=="Y": userphone = input("请输入联系人电话:") addressBook[name]=userphone print("联系人修改成功") continue else: continue else: userphone=input("请输入联系人电话:") addressBook[name]=userphone print("联系人加入成功!") continue if item==3: if name in addressBook: del addressBook[name] print("删除成功!") continue else: print("联系人不存在")
到此这篇关于关于Python字典(Dictionary)操作详解的文章就介绍到这了,更多相关Python字典详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关键词:
责任编辑:宋璟
-
关于Python字典(Dictionary)操作详解_环球速递
-
LG K61 K51S和K41S将四个相机带到中档_全球速看料
-
世界今日讯!在这条公路上行驶的最高速度不能超过多少?120_在这条公路上行驶的最高速度不能超过多少110
-
世界观点:大亚圣象:公司目前没有扩张计划,以地板和人造板两大主业为核心
-
win7打开摄像头图标_win7打开摄像头|前沿资讯
-
IPO速递|晶合集成2023年4月20日开启申购,你要打吗? 全球球精选
-
科普大篷车开进长沙县中南小学
-
穆里尼奥计划离开罗马!考虑去2大豪门,对去沙特执教C罗不感兴趣
-
自如熊林:如何用三年时间推动公司内核“质”变_环球速看
-
【天天新要闻】甘李药业(603087)4月13日主力资金净买入2207.54万元
-
当前热文:瑞信:维持腾讯(00700)“跑赢大市”评级 目标价461港元
-
世界速递!洁美科技(002859)公司点评:景气复苏进行时 业绩回暖可期
-
郑州市升龙社区开展“人大代表接待选民日”活动|环球看点
-
【乐天派】快乐8第23093期预测 胆码详解|新消息
-
“快递偷重”凸显行业乱象 行业需要摆脱粗放式发展模式|每日看点
-
全球信息:春日里的“美丽经济”:新业态给村里带来新活力
-
期市早盘开盘|国内期货主力合约涨跌不一 液化石油气(LPG)涨近3% 环球快讯
-
均胜电子新获知名车企 高压平台功率电子定点
-
确认参加英国国王加冕仪式!但妻子梅根不会现身-环球关注
-
PDF文档翻译 文档翻译
-
长生十二神(长生十二神歌诀)_世界速读
-
【全球报资讯】00后“网红”意外身亡,父亲痛心呼吁:人已经没了别再网暴
-
观点:意贸促机构官员:中国市场极具发展空间 意大利高度重视消博会平台
-
【环球聚看点】天津养老保险补缴怎么补
-
佩斯科夫:俄将提请国际社会关注美生物实验室非法活动
-
苹果公司的营销策略分析_苹果公司的营销策略|最新
-
售94.9万起 宝马i7 eDrive50L新增两款车型
-
【环球新要闻】3月份北京CPI同比上涨0.7% 环比下降0.2%
-
焦点播报:百名师生走进汪清县文化中心感受传统文化魅力
-
闽政通app居住登记申请操作流程图片(附入口) 世界时讯
-
安徽省交通事故责任认定标准是什么|环球视点
-
世界今头条!广西全力加快向海交通基础设施建设
-
ChatGPT热门大趋势|2023年BACA全新课程C位出道——创意媒体预科!
-
跃身万亩桃林 品读醉美春色|邀您共同开启北京平谷国际桃花节盛宴
-
众星晚宴生图:古力娜扎深 V 秀美腿,佟丽娅妩媚丰腴,姚晨显疲惫