Python3字典操作详解 Python3字典操作大全

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #Author:sking
 4 #Python3字典操作详解  Python3字典操作大全
 5
 6 #字典是无序的(因为它没有下标),key必须是唯一的
 7 #字典是可变的,可以修改和添加
 8 #创建字典
 9 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45}
10 #查找字典的值value
11 #方法1
12 print(info[‘heihei‘]) #13  此方法必须确定字典中存在此key否则会报错
13 #方法2 推荐使用
14 print(info.get(‘heihei‘)) #13  当字典中没有此key时,会返回None
15 #修改字典
16 info[‘wowo‘] = 14
17 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14}
18 #添加字典元素
19 info[‘loulou‘] = 15
20 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15}
21 #删除字典元素
22 #方法1
23 del info[‘haha‘]
24 print(info) #{‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15}
25 #方法2
26 a = info.pop(‘heihei‘)
27 print(a) #13  pop删除字典的同时会返回该key对应的值
28 print(info) #{‘wowo‘: 14, ‘loulou‘: 15}
29 #方法3
30 b = info.popitem() #随机删除一个字典元素
31 print(b)  #(‘loulou‘, 15)  popitem删除字典的同时会以元组的形式返回该元素的key和value
32 print(info) #{‘wowo‘: 14}
33 #删除整个字典
34 #del info
35 #print(info) #NameError: name ‘info‘ is not defined
36 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45}
37 #判断某个key是不是在这个字典里
38 print(‘wahaha‘ in info) #False
39 print(‘haha‘ in info) #True
40
41 #多级字典的嵌套和操作
42 book = {
43     ‘中国‘:{‘a‘:[‘好‘,‘不好‘],‘b‘:[‘好‘,‘不好‘]},
44     ‘美国‘:{‘c‘:[‘好‘,‘不好‘], ‘d‘:[‘好‘,‘不好‘]},
45     ‘日本‘:{‘e‘:[‘好‘,‘不好‘]}
46 }
47 print(book)
48 #修改多级字典的value
49 book[‘中国‘][‘b‘][0] = ‘ok‘
50 print(book)
51 print(‘+_+_+_+_+_+_+_+_+_+_+_+_+_+_+‘)
52 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45}
53 print(info.values()) #dict_values([12, 13, 45])  打印字典的所有值value
54 print(info.keys()) #dict_keys([‘haha‘, ‘heihei‘, ‘wowo‘]) 打印字典的所有键key
55 print(list(info.values())) #[12, 13, 45]  将字典所有的value转成list
56 print(list(info.keys())) #[‘haha‘, ‘heihei‘, ‘wowo‘]  将字典所有的key转成list
57 print(info.setdefault(‘ww‘,78)) #78
58 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78}  增加一个‘ww‘: 78  字典对象
59 print(info.setdefault(‘haha‘, 34)) #12
60 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78}
61 #‘haha‘的value并没有改成34
62 # Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,
63 # 如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None。
64 # get() 和 setdefault() 区别: setdefault() 返回的键如果不在字典中,
65 # 会添加键(更新字典),而 get() 不会添加键。
66 print(‘+++++++++++++================-‘)
67 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45}
68 b = {‘ss‘:99, ‘haha‘:88}
69 info.update(b) #没有返回值
70 print(info) #{‘haha‘: 88, ‘heihei‘: 13, ‘wowo‘: 45, ‘ss‘: 99} update()方法合并两个字典,并修改/增加字典对象
71 print(info.items()) #dict_items([(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)])
72 #返回字典所有的key和value
73 print(list(info.items())) #[(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)]
74
75 #字典的循环
76 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45}
77 #方法1(推荐使用)
78 for i in info:
79     print(i, info[i])   #方法1 效率比较高,因为它是直接通过key找过val
80
81 """
82 haha 12
83 heihei 13
84 wowo 45
85 """
86 #方法2
87 for key,val in info.items():   #效率没有方法高,因为它需要把字典转成列表
88     print(key, val)
89 """
90 haha 12
91 heihei 13
92 wowo 45
93 """

原文地址:https://www.cnblogs.com/skings/p/10247111.html

时间: 2024-12-16 17:09:25

Python3字典操作详解 Python3字典操作大全的相关文章

python3集合操作方法详解 python3集合操作大全

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #python3集合操作方法详解 python3集合操作大全 5 6 #集合是无序的 7 #创建集合 8 a = {1,2,3} #正确 9 b = set([1,2,3]) #正确 10 c = set((1,2,3)) #正确 11 d = set({1:3,2:4}) #结果{1, 2} 只能取字典的key 12 13 #add添加集合中的元素(添加一项)

详解 Python3 正则表达式(二)

上一篇:详解 Python3 正则表达式(一) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 使用正则表达式 现在我们开始来写一些简单的正则表达式吧.Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行匹配. 批注:re 模块是使用 C 语言编写,所以效率比你用普通的字符串方法要高得多:将正则表达式进行编译(compile)也是为了进一步提高效率

详解 Python3 正则表达式(一)

本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 正则表达式介绍 正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质是一个微小的且高度专业化的编程语言.它被嵌入到 Python 中,并通过 re 模块提供给程序员使用.使用正则表达式,你需要指定一些规则来描述那些你希望匹配的字符串集合.这些字符串集合可能包含英语句子.e-mail 地址

详解 Python3 正则表达式(四)

上一篇:详解 Python3 正则表达式(三) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 更多强大的功能 到目前为止,我们只是介绍了正则表达式的一部分功能.在这一篇中,我们学会到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本. 更多元字符 还有一些元字符我们没有讲到,接下来博主一一为大家讲解. 有些元字符它们不匹配任何字符,只是简单地表示成功或失败,因此这些字符也称之为零宽断言.例如 \

Windows DIB文件操作详解-4.使用DIB Section

前面讲了为了提高DIB的显示性能和效率,我们将DIB转换成DDB,但是这又遇到一个问题,如果我想操作DIB的数据的话,显然是不能使用DDB:一是因为DIB转DDB时发生了颜色转换,再就是DDB无法直接提取指定像素点的数据.那么我们怎么办呢,Windows使用一种折中的方式来达到这一目标(既提高了显示效率和性能,又可以直接操作像素点). 1.DIB Section存储和显示 Windows使用DIB块(DIB Section)来存储DIB数据,其内存结构示意图如下 其实,和我们自己读入DIB数据到

详解 Python3 正则表达式系列索引

详解 Python3 正则表达式(一) 详解 Python3 正则表达式(二) 详解 Python3 正则表达式(三) 详解 Python3 正则表达式(四) 详解 Python3 正则表达式(五) 详解 Python3 正则表达式(六) 详解 Python3 正则表达式(七)

Linq实战 之 DataSet操作详解

Linq实战 之 DataSet操作详解  一:linq to Ado.Net 1. linq为什么要扩展ado.net,原因在于给既有代码增加福利.FCL中在ado.net上扩展了一些方法. 简单一点的说: 就是在DatTable 和 DataRow 上面做了一些扩展. 二:扩展方法一览 1. AsEnumerable 2. Field 三:扩展类一览 DataTableExtensions 扩展 => public static EnumerableRowCollection<DataRo

DNS基本概念及操作详解----------------转载

DNS基本概念及操作详解 目录: 1.DNS协议 2.DNS查询 2.1递归查询 2.2跌代查询 2.3反向查询 3.域维护 3.1全量AXFR传输 3.2增量IXFR传输 3.3通过NOTIFY 3.4动态更新 4.DNS安全 在很多人看来,DNS只是为外部提供DNS解析服务(我以前也是这么认为的,直到膝盖中了一箭),但作为互联网的基础设施,DNS远没有想象的那么简单.如果你没有听说过DNS查询.反向解析.zone传输.动态更新.DNS安全,那你可以从本文中得到关于他们的最简明的诠释. 一.

Python对Excel操作详解

  Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl  tcom包对excel操作. 关键字: Python.Excel.xlrd.xlwt.xlutils.TCl.tcom     1 Python简介 Python是一种面向对象.直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.