字典的特征就是"{}",类型就是dict,每一个字典中的元素都有一个key和value组成,key具有唯一性(同一个字典中),多个元素之间使用逗号隔开,字典里没有索引,记住同一字典中所有的key不能有重复的。下面创建一个字典看一下:
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer ={23:1,"name":"wulaoer"}
这里要注意,key或value如果是整数可以不适用双引号,字符串必须适用英文双引号。标点符号必须是英文的,切记.......
查看字典
字典也可以根据索引查看字典中的value,不过索引是根据字典中的键值对来获取的,一对键值对是一个索引,可以根据索引对字典做增删改查操作,也可以使用字典的一些内置函数,下面看一下字典的增删改查汇总:
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer ={23:1,"name":"wulaoer"} wulaoer1 = {"course":"golong"} print("根据字典的key找到value:",wulaoer.get(23))#根据key找value print("根据字典的key找到value:",wulaoer[23])#根据key找value print("查看字典的所有keys:",wulaoer.keys())#查看字典中的key print("查看字典的所有value:",wulaoer.values())#查看字典中的value print("遍历字典并返回键值对:",wulaoer.items())#遍历字典以列表方式返回(键,值)元组数组
输出结果:
根据字典的key找到value: 1 根据字典的key找到value: 1 查看字典的所有keys: dict_keys([23, 'name']) 查看字典的所有value: dict_values([1, 'wulaoer']) 遍历字典并返回键值对: dict_items([(23, 1), ('name', 'wulaoer')])
增加字典
字典增加主要有两个方面,一个是增加字典的键值对使用的是内置函数update()。一个把新字典追加到旧字典中相当于合并字典可以使用dict(wulaoer1,**wulaoer2)或者dict(wulaoer1.items()+wulaoer2.items())。还有一个就是自动生成新的字典,使用内置函数fromkeys(key,value),这里会遍历key的所有元素,一个元素相当于新建字典的k,value不变,如果不存在默认None。
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer ={23:1,"name":"wulaoer"} wulaoer1 = {"course":"golong"} wulaoer.update(wulaoer1) #追加到字典 print("使用update内置函数追加一个字典:",wulaoer) wulaoer2=wulaoer.fromkeys("sed","shell")#创建新的字典以sed作为key,shell作为value,如果value为空,则为None print("创建新字典以sed序列作为key,shell作为value,如value为空则为None:",wulaoer2)
输出结果:
使用update内置函数追加一个字典: {23: 1, 'name': 'wulaoer', 'course': 'golong'} 创建新字典以sed序列作为key,shell作为value,如value为空则为None: {'s': 'shell', 'e': 'shell', 'd': 'shell'}
因为还没有说运算符,这里就不举例了,后面运算符的时候单独举例说明,目前需要可以先了解这么多,学的越多你会发现方法越多。
字典的删
删除字典的元素只能成对删除,这个是字典的特性,key和value不可分割,两者必须都存在。删除字典的键值对我们可以依靠索引,也可以依靠字典的key,或者字典的内置函数pop(),del,popitem()等,每个都是删除字典键值对,但是有些不太一样,那些不一样看看例子:
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer ={23:1,"name":"wulaoer","course":"python","Ruby":1} wulaoer.pop(23) #根据key删除字典中的一对键和值 print("内置函数pop()是根据key删除字典键值对",wulaoer) wulaoer.popitem()#删除字典中最后一对键和值 print("内置函数popitem()是自动删除字典最后一对键值对",wulaoer) del wulaoer["course"] #根据key删除字典中的一对键值 print("内置函数del,也是根据字典key删除字典键值对",wulaoer) wulaoer.clear() #删除字典所有键值对 print("内置函数clear()是删除字典所有键值对",wulaoer)
输出结果:
内置函数pop()是根据key删除字典键值对 {'name': 'wulaoer', 'course': 'python', 'Ruby': 1} 内置函数popitem()是自动删除字典最后一对键值对 {'name': 'wulaoer', 'course': 'python'} 内置函数del,也是根据字典key删除字典键值对 {'name': 'wulaoer'} 内置函数clear()是删除字典所有键值对 {}
内置函数pop()是根据key来删除键值对,popitem()函数是删除字典的最后一个键值对,del也是根据字典的key删除键值对,clear()是删除的整个字典。
字典的改
在使用字典的过程中会经常用到字典的修改,这里的修改智能修改字典的value,没有办法修改字典的key,因为key的唯一性。所以这里使用的时候就要用到字典的索引,根据字典的key给键值对重新赋值就相当于修改了字典。看一下下面的几个例子:
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer={"python":"wulaoer1","ruby":"wulaoer2","golong":"wulaoer3","java":"wulaoer4"} wulaoer["python"]="运维服务" print("利用key修改value",wulaoer) ruby={"ruby":"日本人的东西"} wulaoer.update(ruby) print("利用update()函数进行覆盖",wulaoer)
输出结果
利用key修改value {'python': '运维服务', 'ruby': 'wulaoer2', 'golong': 'wulaoer3', 'java': 'wulaoer4'} 利用update()函数进行覆盖 {'python': '运维服务', 'ruby': '日本人的东西', 'golong': 'wulaoer3', 'java': 'wulaoer4'}
这里要记住字典的唯一性,所有字典的key不可有重复性。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏