十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict.
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、广元网站维护、网站推广。python中的字典可与字符串/列表/元组不同,因为字典dict需要由两部分组成,分别是key和value,简称:键值对,下面具体讲解一下关于字典的特点:
1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同;
2.字典中的键值对需要写在{}中括号内部,键值对中的key和value用:隔开,键值对与键值对之间用逗号隔开;
3.字典是一个无序的集合;
4.字典中key具有唯一性;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com @File:python_dict.py @Time:2019/9/27 20:45 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ dict1=dict()# 定义一个空字典 print(dict1) print(type(dict1))# 输出字典类型 dict print(len(dict1))# 获取字典键值对数量 print("***"*20)# 小窍门:直接打印60 个 * #字典可以有一个或者多个键值对构成,键值对与键值对之间使用逗号隔开 # "name" / "age" / "sing_gou" 是key # "隔壁老王" / 42 / True 是value dict2={"name":"隔壁老王","age":42,"singe_dog":True} print(dict2) print(type(dict2))# 输出字典类型 dict print(len(dict2))# 获取字典键值对数量 print("***"*20)# 小窍门:直接打印60 个 * # 字典中出现了两个一样的key:"age",默认后面的value会覆盖前面的value dict3={"name":"隔壁老王","age":42,"singe_dog":True,"age":15} print(dict3) |
输出:
1 2 3 4 5 6 7 8 9 | {} 0 ************************************************************ {'name':'隔壁老王','age':42,'singe_dog':True} 3 ************************************************************ {'name':'隔壁老王','age':15,'singe_dog':True} |
注意:如果字典中出现相同的key值,只有最后一个key/value有效,前面相同的key/value会被覆盖.这就是字典dict所谓的唯一性.
在python开发过程中,对于字典使用最多的莫过于增删改查以及遍历,下面我们一一讲解:
如果想要在字典中添加数据,直接赋值就可以,比较简单,跟上示例代码演示一波:
1 2 3 4 5 6 7 | dict1=dict()# 定义一个空字典 print(dict1)# 输出一个空的字典 dict1["name"]="猿说python"# 添加键值对 "name":"猿说python" 到 dict1 dict1["url"]="shuopython.com"# 添加键值对 "url":"shuopython.com" 到 dict1 print(len(dict1))# 获取字典键值对数量 print(dict1)# 输出整个字典 |
输出结果:
1 2 3 | {} 2 {'name':'猿说python','url':'shuopython.com'} |
字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。删除字典中的数据,需要根据键值对中的key值来删除对应的键值对,删除使用 del 关键字,实例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定义一个字典 print(dict1)# 输出删除之前的字典 # 删除key等于"name"对应的键值对 deldict1["name"] print(dict1) # 删除key等于"age"对应的键值对 deldict1["age"] print(dict1) # 删除key等于"sing_dog"对应的键值对 deldict1["sing_dog"] print(dict1) |
输出结果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} {'age':38,'sing_dog':True} {'sing_dog':True} {} |
字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。修改字典中的键值对数据,操作和删除数据一样,直接根据键值对中的key值操作即可,实例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定义一个字典 print(dict1)# 输出字典 # 修改key等于"name"对应的value dict1["name"]="隔壁老王" print(dict1)# 输出字典 # 修改key等于"age"对应的value dict1["age"]=18 print(dict1)# 输出字典 # 修改key等于"sing_dog"对应的value dict1["sing_dog"]=False print(dict1)# 输出字典 |
输出结果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} {'name':'隔壁老王','age':38,'sing_dog':True} {'name':'隔壁老王','age':18,'sing_dog':True} {'name':'隔壁老王','age':18,'sing_dog':False} |
字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。查询字典中的键值对数据,操作和删除数据/修改数据一样,直接根据键值对中的key值操作即可,实例代码如下:
1 2 3 4 5 6 7 8 9 10 11 | dict1={"name":"zhangsan","age":38,"sing_dog":True}# 定义一个字典 print(dict1)# 输出字典 # 查询key等于"name"对应的value print(dict1["name"]) # 查询key等于"age"对应的value print(dict1["age"]) # 查询key等于"sing_dog"对应的value print(dict1["sing_dog"]) |
输出结果:
1 2 3 4 | {'name':'zhangsan','age':38,'sing_dog':True} zhangsan 38 True |
示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | dict1={"name":"zhangsan","age":38}# 定义一个字典 print(dict1)# 输出字典 dict2={"sing_dog":True}# 定义一个字典 print(dict2) print("***"*20)# 小窍门:直接答应60个* # update()函数:将一个字典添加到另外一个字典的末尾 dict1.update(dict2) print(dict1)# 输出字典 print("***"*20)# 小窍门:直接答应60个* # 情况字典dict1 dict1.clear() print(dict1)# 空字典 # 情况字典dict2 dict2.clear() print(dict2)# 空字典 |
输出效果:
1 2 3 4 5 6 7 | {'name':'zhangsan','age':38} {'sing_dog':True} ************************************************************ {'name':'zhangsan','age':38,'sing_dog':True} ************************************************************ {} {} |
1 2 3 4 5 6 7 8 9 10 11 12 | dict1={"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"}# 定义一个字典 print(dict1)# 输出字典 print("***"*20)# 小窍门:直接答应60个* # dict.items()方法,返回元组数据,类似遍历元组操作 forxindict1.items(): print(x,type(x)) print("***"*20) # 小窍门:直接答应60个* # dict.items()方法经典写法,直接获取key/values forx,yindict1.items(): print(x,y) |
输出结果:
1 2 3 4 5 6 7 8 9 10 11 | {'name':'zhangsan','age':38,'sing_dog':True,'height':'155cm'} ************************************************************ ('name','zhangsan') ('age',38) ('sing_dog',True) ('height','155cm') ************************************************************ namezhangsan age38 sing_dogTrue height155cm |
1 2 3 4 5 6 7 8 9 10 11 12 | dict1={"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"}# 定义一个字典 print(dict1)# 输出字典 print("***"*20)# 小窍门:直接答应60个* # 方法一:根据key值遍历 forkeyindict1.keys(): print(key,dict1[key]) # dict1[key] 等价键值对中key对应的value print("***"*20)# 小窍门:直接答应60个* # 方法二:根据value值遍历 forvalueindict1.values(): print(value) |
输出结果:
1 2 3 4 5 6 7 8 9 10 11 | {'name':'zhangsan','age':38,'sing_dog':True,'height':'155cm'} ************************************************************ namezhangsan age38 sing_dogTrue height155cm ************************************************************ zhangsan 38 True 155cm |
1.注意字典的特点
2.注意字典/字符串/列表/元组的区别
3.注意字典的遍历方式
4.注意字典/字符串/列表/元组之间的相互转换
1.python字符串(str)
2.python列表(list)
3.python元组(tuple)
转载请注明:猿说Python » python 字典dict
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。