内容简介:参考:
1.什么是字典
- 字典就是key-value键值对数据的集合(且key不可重复);
- 字典是可变的,无序的;
- 字典中,key必须是可哈希的数据类型;
2.字典的定义和初始化
- 定义字典可以使用d = dict() 或者 d = {}两种方法;
d = dict() #定义字典 d = {}
- 使用键值对的方式初始化字典;
d = {'a':1, 'b':2} print(d) #输出:{'a': 1, 'b': 2}
- 使用传参的方式初始化字典;
d = dict(a=1, b=2) print(d) #输出:{'a': 1, 'b': 2}
- 使用元组的方式初始化字典(比较少见);
d = dict((('a',1),('b', 2))) print(d) #输出:{'a': 1, 'b': 2}
- 使用字典构造器的构造方法fromkeys() 来通过可迭代对象批量的传值;
d = dict.fromkeys(range(5), 'hello') print(d) #输出:{0: 'hello', 1: 'hello', 2: 'hello', 3: 'hello', 4: 'hello'}
3.字典的访问
d = {'a':10, 'b':20} d.setdefault('c', 30) # 设置默认值 print(d['a']) #输出:10 print(d.get('d', None)) #输出:None print(d) #输出:{'a': 10, 'b': 20, 'c': 30}
- 字典可以通过key来访问;
- 使用setdefault()方法来设置默认值(只能加一个新的值,不能覆盖原有值);
- 使用get()方法通过key来访问字典,当key存在时,返回value值,key不存在时返回则None;
4.字典修改
d = {'a':1, 'b':2} d.update({'c': '3'}) print(d) #输出:{'a': 1, 'b': 2, 'c': '3'} d['a'] = 10 print(d) #输出:{'a': 10, 'b': 2, 'c': '3'}
- 使用update()方法来修改字典;
- 直接使用key来修改字典;
5.字典插入
- 直接使用key来插入;
d = {'a':10, 'b':20} d['c'] = 30 print(d) #输出:{'a': 10, 'b': 20, 'c': 30}
6.字典的删除
d = {'a':10, 'b':20}
- pop:通过pop()方法删除指定key的value;
d.pop('a',None) print(d) #输出:{'b': 20}
- popitem:随机删除任意键值对;
d.popitem() #删除任意键值对 print(d) #输出:{'a': 10}
- clear:删除字典所以元素;
d.clear() print(d) #输出:{}
- del:通过del魔术方法删除指定key的value;
del d['a'] print(d) #输出:{'b': 20}
7.字典的遍历
d = {'a':10, 'b':20} # key的遍历 for key in d: print(key) for key in d.keys(): print(key) # value的遍历 for key in d: print(d[key]) for key in d.keys(): print(d.get(key)) # key/value遍历 for item in d.items(): print(item) for key,value in d.items(): print(key, value)
- 字典可以使用for来遍历的;
- for循环可以单独遍历key,单独遍历value,key和value一起遍历;
- 单独遍历key或者value时需要用到keys;
- key和value一起遍历需要是用到items;
8.标准库中的字典
- 默认字典:defaultdict,当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值,默认字典初始化什么类型,返回值对应该类型的空值 (如int返回0,str返回空字符串);
from collections import defaultdict dict1 = defaultdict(int) # 默认值是0 print(dict1[1]) #输出:0 print(dict1[2]) #输出:0 dict2 = defaultdict(set) # 默认的是set( ) print(dict2[1]) #输出:set() print(dict2[2]) #输出:set() dict3 = defaultdict(str) # 默认是空字符串 print(dict3[1]) dict4 = defaultdict(list) # 默认是空列表[] print(dict4[1]) #输出:[]
- 有序字典:OrderedDict,记录了key插入的顺序,也就是让无序的字典变为有序;
from collections import OrderedDict import random d = {'赵': 1, '钱': 2, '孙': 3, '李': 4} keys = list(d.keys()) #把键值存入列表中 print(keys) #输出:['赵', '钱', '孙', '李'] random.shuffle(keys) #随机打乱列表中的keys值 print(keys) order_d = OrderedDict() #创建一个有序字典对象 for key in keys: order_d[key] = d[key] print(order_d.keys())
以上所述就是小编给大家介绍的《Python基本数据类型之字典》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 6. Go 语言数据类型:字典与布尔类型
- python 数据类型 ----字典
- Swift 中如何使用字典类型作为范型约束
- Go 语言函数式编程系列(十二) —— 数据类型篇:字典类型的遍历与排序
- 6. Go语言中的字典与布尔类型
- python3 第十四章 - 数据类型之Dictionary(字典)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。