python 基础之字典一
字典特点:无序、键唯一
字典的创建
1 2 | bag = { 'cx' : 'chenxi' , 'gghg' : 35 } print (bag[ 'cx' ]) |
测试
1 2 3 | chenxi Process finished with exit code 0 |
字典操作之增加
1 2 3 4 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'zd' ] = 'zrd' print (cx) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'chenxi' , 'user' : 'haha' , 'zd' : 'zrd' } |
字典操作之修改值操作
1 2 3 4 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'cx' ] = 'dne' print (cx) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'dne' , 'user' : 'haha' } |
字典操作之新增操作
1 2 3 4 5 6 7 8 9 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'cx' ] = 'dne' print (cx) ret = cx.setdefault( 'cx' , 89 ) #如果键有值,就不会修改,返回对应键的值 print (ret) cxs = cx.setdefault( 'df' , 78 ) #如果没有,直接创建并并赋值 print (cxs) print (cx) |
测试
1 2 3 4 5 | { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'dne' , 'user' : 'haha' } dne 78 { 'cx' : 'dne' , 'user' : 'haha' , 'df' : 78 } |
查看字典里所有的键
1 2 3 4 5 6 7 8 9 10 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'cx' ] = 'dne' print (cx) ret = cx.setdefault( 'cx' , 89 ) #如果键有值,就不会修改,返回对应键的值 print (ret) cxs = cx.setdefault( 'df' , 78 ) #如果没有,直接创建并并赋值 print (cxs) print (cx) print (cx.keys()) #查看字典里所有的键 |
测试
1 2 3 4 5 6 | { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'dne' , 'user' : 'haha' } dne 78 { 'cx' : 'dne' , 'user' : 'haha' , 'df' : 78 } dict_keys([ 'cx' , 'user' , 'df' ]) |
查看字典中所有的键;并转换成列表数据类型
1 2 3 4 5 6 7 8 9 10 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'cx' ] = 'dne' print (cx) ret = cx.setdefault( 'cx' , 89 ) #如果键有值,就不会修改,返回对应键的值 print (ret) cxs = cx.setdefault( 'df' , 78 ) #如果没有,直接创建并并赋值 print (cxs) print (cx) print ( list (cx.keys())) #查看字典里所有的键;并把它转换成列表数据结构 |
测试
1 2 3 4 5 6 | { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'dne' , 'user' : 'haha' } dne 78 { 'cx' : 'dne' , 'user' : 'haha' , 'df' : 78 } [ 'cx' , 'user' , 'df' ] |
查看字典中所有的值,并以列表方式显示
1 2 3 4 5 6 7 8 9 10 11 | cx = { 'cx' : 'chenxi' , 'user' : 'haha' } print (cx) cx[ 'cx' ] = 'dne' print (cx) ret = cx.setdefault( 'cx' , 89 ) #如果键有值,就不会修改,返回对应键的值 print (ret) cxs = cx.setdefault( 'df' , 78 ) #如果没有,直接创建并并赋值 print (cxs) print (cx) print ( list (cx.keys())) #查看字典里所有的键;并把它转换成列表数据结构 print ( list (cx.values())) #查看字典所有值,并转换成列表数据结构 |
测试
1 2 3 4 5 6 7 | { 'cx' : 'chenxi' , 'user' : 'haha' } { 'cx' : 'dne' , 'user' : 'haha' } dne 78 { 'cx' : 'dne' , 'user' : 'haha' , 'df' : 78 } [ 'cx' , 'user' , 'df' ] [ 'dne' , 'haha' , 78 ] |
修改字典里键的值
1 2 3 4 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } print (dis3) dis3[ 'age' ] = 55 #age的值改55 print (dis3) |
测试
1 2 3 4 | { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } { 'age' : 55 , 'name' : 'chenxi' , 'hobby' : '阅读' } Process finished with exit code 0 |
更新
1 2 3 4 5 6 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } print (dis3) cx7 = { 'sdf' : 'csd' , 'ga' : 'gffg' , 'yu' : 'ggh' } print (cx7) dis3.update(cx7) print (dis3) |
测试
1 2 3 4 5 6 | D:\python\python.exe D: / untitled / dir / for .py { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } { 'sdf' : 'csd' , 'ga' : 'gffg' , 'yu' : 'ggh' } { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' , 'sdf' : 'csd' , 'ga' : 'gffg' , 'yu' : 'ggh' } Process finished with exit code 0 |
删
1 2 3 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } del dis3[ 'age' ] print (dis3) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 'name' : 'chenxi' , 'hobby' : '阅读' } Process finished with exit code 0 |
清空字典操作
1 2 3 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } dis3.clear() print (dis3) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py {} Process finished with exit code 0 |
删除字典中某键值并把所删的值重新打印出来
1 2 3 4 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } ret = dis3.pop( 'age' ) print (dis3) print (ret) |
测试
1 2 3 4 5 | D:\python\python.exe D: / untitled / dir / for .py { 'name' : 'chenxi' , 'hobby' : '阅读' } 18 Process finished with exit code 0 |
随机删除一对键值,并把删除的这对键值打印出来
1 2 3 4 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } ret = dis3.popitem() print (dis3) print (ret) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { 'age' : 18 , 'name' : 'chenxi' } ( 'hobby' , '阅读' ) |
删除这个字典
1 2 3 | dis3 = { 'age' : 18 , 'name' : 'chenxi' , 'hobby' : '阅读' } del dis3 print (dis3) |
测试
1 2 3 4 5 | D:\python\python.exe D: / untitled / dir / for .py Traceback (most recent call last): File "D:/untitled/dir/for.py" , line 126 , in <module> print (dis3) NameError: name 'dis3' is not defined |
创建值相同的字典
1 2 | dic6 = dict .fromkeys([ 'cx-1' , 'cx-2' , 'cx-3' ], 'test' ) print (dic6) |
测试
1 2 3 4 | D:\python\python.exe D: / untitled / dir / for .py { 'cx-1' : 'test' , 'cx-2' : 'test' , 'cx-3' : 'test' } Process finished with exit code 0 |
注意
1 2 3 4 | dic6 = dict .fromkeys([ 'cx-1' , 'cx-2' , 'cx-3' ],[ 'test-1' , 'test-2' ]) print (dic6) dic6[ 'cx-2' ][ 1 ] = 'abc' print (dic6) |
测试
1 2 | { 'cx-1' : [ 'test-1' , 'test-2' ], 'cx-2' : [ 'test-1' , 'test-2' ], 'cx-3' : [ 'test-1' , 'test-2' ]} { 'cx-1' : [ 'test-1' , 'abc' ], 'cx-2' : [ 'test-1' , 'abc' ], 'cx-3' : [ 'test-1' , 'abc' ]} |
嵌套字典修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | av_cte = { "中国" :{ "河北" :[ "不错" , "历史" ], "广州" :[ "喜欢" , "沿海" ], "长沙" :[ "适合玩" ], "北京" :[ "房价死贵" ] }, "消费" :{ "河北" :[ "一般" ], "广州" :[ "还好" ], "上海" :[ "没去过" ], "长沙" :[ "没去过" ], "北京" :[ "小贵" ] } } print (av_cte) av_cte[ '中国' ][ '广州' ][ 1 ] = "hhh" print (av_cte) |
测试
1 2 3 | D:\python\python.exe D: / untitled / dir / for .py { '中国' : { '河北' : [ '不错' , '历史' ], '广州' : [ '喜欢' , '沿海' ], '长沙' : [ '适合玩' ], '北京' : [ '房价死贵' ]}, '消费' : { '河北' : [ '一般' ], '广州' : [ '还好' ], '上海' : [ '没去过' ], '长沙' : [ '没去过' ], '北京' : [ '小贵' ]}} { '中国' : { '河北' : [ '不错' , '历史' ], '广州' : [ '喜欢' , 'hhh' ], '长沙' : [ '适合玩' ], '北京' : [ '房价死贵' ]}, '消费' : { '河北' : [ '一般' ], '广州' : [ '还好' ], '上海' : [ '没去过' ], '长沙' : [ '没去过' ], '北京' : [ '小贵' ]}} |
字典排序
1 2 3 4 | dic = { 5 : '888' , 8 : '44544' , 3 : '895' } print (dic) #未排序的 print ( sorted (dic)) # 键排序 print ( sorted (dic.values())) #按键值排序<br>print(sorted(dic.items())) # 按键排序 |
测试
1 2 3 4 5 6 | D:\python\python.exe D: / untitled / dir / for .py { 5 : '888' , 8 : '44544' , 3 : '895' } [ 3 , 5 , 8 ] [ '44544' , '888' , '895' ] [( 3 , '895' ), ( 5 , '888' ), ( 8 , '44544' )] Process finished with exit code 0 |
字典遍历;效率高
1 2 3 | dic = { 5 : '888' , 8 : '44544' , 3 : '895' } for i in dic: print (i,dic[i]) |
测试
1 2 3 | 5 888 8 44544 3 895 |
字典遍历之2
1 2 3 | dic = { 5 : '888' , 8 : '44544' , 3 : '895' } for i,v in dic.items(): print (i ,v) |
测试
1 2 3 | 5 888 8 44544 3 895 |
草都可以从石头缝隙中长出来更可况你呢
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步