Python 学习日记第三篇

阅读: 评论:0

Python 学习日记第三篇

Python 学习日记第三篇

一、字典

  python中的字典不是序列,而是一种映射;不通过位置而是通过键存储。字典是可变的。

  1、字典的映射操作

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 #字典的创建 >>> d1 = { 'k1' : 'v1' , 'k2' : 'v2' } >>> d2 = dict(k1= 'v1' ,k2= 'v2' ) 使用{}定义字典,以key:value形式存储数据,在字典中key是唯一的 >>> one_dict = { 'name' : "jym" , 'age' :23, 'addr' : 'xinjiang' } #通过key查找数据 >>> one_dict[ 'name' ] 'jym #修改 >>> one_dict[ 'name' ] =  "Jym" >>> print(one_dict) { 'name' 'Jym' 'age' : 23,  'addr' 'xinjiang' } >>> one_dict[ 'age' ] += 1 >>> print(one_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' } #添加,直接赋值不在字典中的键,会创建该键值 >>> one_dict[ 'job' ] =  "ops" >>> print(one_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' 'job' 'ops' } #字典的嵌套 >>> two_dict = { 'name' :{ 'first' : "jy" , 'last' : "meng" }, 'age' :32, 'addr' :[ 'sh' , 'xj' ]} >>> two_dict[ 'name' ][ 'first' ] 'jy' >>> two_dict[ 'addr' ][0] 'sh'

 

   2、字典的方法

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 #清空字典 >>> two_dict. clear () >>> print(two_dict) {} #删除方法一 >>> two_dict = { 'name' :{ 'first' : "jy" , 'last' : "meng" }, 'age' :32, 'addr' :[ 'sh' , 'xj' ]} >>> two_dict[ 'name' ].pop( 'first' ) 'jy' >>> print(two_dict) { 'name' : { 'last' 'meng' },  'age' : 32,  'addr' : [ 'sh' 'xj' ]} #删除方法二 >>> del two_dict[ 'name' ][ 'last' ] >>> print(two_dict) { 'name' : {},  'age' : 32,  'addr' : [ 'sh' 'xj' ]} #获取字典中value,使用get方法好处是如果你要获取的key值不存在,不报错,默认返回None,可自行给值 >>> get_dict = ( 'age' ) >>> print(get_dict) 32 >>> two_dict = { 'name' :{ 'first' : "jy" , 'last' : "meng" }, 'age' :32, 'addr' :[ 'sh' , 'xj' ]} >>> print(( 'job' )) None >>> print(( "job" , 'replace' )) replace #通过一个字典更新另一个字典,如果两个字典键值相同,那么以要被更新的字典为准 >>> two_dict.update(one_dict) >>> print(two_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' 'job' 'ops' } #将字典转变为列表(少用) >>> print(two_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' 'job' 'ops' } >>> print(two_dict.items()) dict_items([( 'name' 'Jym' ), ( 'age' , 24), ( 'addr' 'xinjiang' ), ( 'job' 'ops' )]) #取字典的values值 >>> print(two_dict.values()) dict_values([ 'Jym' , 24,  'xinjiang' 'ops' ]) #取字典的keys值 >>> print(two_dict.keys()) dict_keys([ 'name' 'age' 'addr' 'job' ]) #判断key值是否在字典中 >>>  'name'  in  two_dict True #取一个key值,如果存在,即取出,如果不存在,就在字典中加入该kv值 >>> print(two_dict.setdefault( 'name' )) Jym >>> print(two_dict.setdefault( 'name1' , "newkv" )) newkv >>> print(two_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' 'job' 'ops' 'name1' 'newkv' } #给定列表,将列表中的值取出作为key生成字典 >>> print(dict.fromkeys([1,2,3,4], 'newvalue' )) {1:  'newvalue' , 2:  'newvalue' , 3:  'newvalue' , 4:  'newvalue' } #随机删除字典中的kv值(慎用) >>> two_dict.popitem() ( 'name1' 'newkv' ) >>> print(two_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' 'job' 'ops' } >>> two_dict.popitem() ( 'job' 'ops' ) >>> print(two_dict) { 'name' 'Jym' 'age' : 24,  'addr' 'xinjiang' }

   

   3、字典排序

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 第一种方法 #将字典的key值取出换为列表存储 sort_list = list(id_db.keys()) #使用列表的方法排序 sort_list. sort () #按照顺序打印字典 for  key  in  sort_list:      print(key,id_db[key]) 结果: C: C: /Users/Administrator/PycharmProjects/cto3/day2/dictionary .py 659001199601105413 { 'name' 'jonny' 'age' : 18,  'addr' 'xj' } 659001199701105413 { 'name' 'david' 'age' : 17,  'addr' 'sh' } 659001199801105413 { 'name' 'george' 'age' : 16,  'addr' 'gz' }          第二种方法 for  key  in  sorted(id_db):      print(key,id_db[key])


本文转自 元婴期 51CTO博客,原文链接:

本文发布于:2024-01-31 01:27:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663562724352.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:第三篇   日记   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23