字典
一、什么是字典
Python中的字典是另一种可变容器
可以存储任意类型的数据
列表:将多个数据存储在一个有序的容器中,并且通过下标/索引形式来访问
字典:将多个数据存储在一个“无序”的容器中(Python3.5是无序的,在Python3.6中有序),并且通过“名字”来访问。
1 2 3 4 5 6 7 8 9 10 11
|
s1 = [79,80,92] s2 = ['语文','数学','英语']
print(s2[0],s1[0])
scores = {'语文':79, '数学':80, '英语':92}
print(scores['语文'])
|
- 存储一个人的信息 姓名:Mr_lee 年龄:18 性别:True
- 列表:
info = ['Mr_lee',18,True] info[0]
- 字典:
info = {'name':'Mr_lee', 'age':18, 'gender':True} info['name']
二、字典的创建
1 2 3 4
| d1 = {} print(type(d1)) d2 = {'A': 1, 'C': 3, 'B': 2,} print(d2)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| d = dict()
d = dict({'A': 1, 'C': 3, 'B': 2,} )
d = dict([1,2,3])
d = dict([('A',1),('B',2)]) d = dict(['A1','B2']) print(d)
d = dict(a=1,b=2,c=3) print(d)
|
三、字典的访问
- 列表是通过下标索引的方式来访问它的元素的,而字典则是通过键名来获取对应的值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| info = {'id':1, 'name':'Mr_lee', 'age':18, 'age':20}
print(info['name']) print(info['Name'])
n = info.get('Name') print(n)
n = info.get('NAME','Tom') print(n)
n = info.get('name','Tom') print(n)
|
注意:字典中的键一般都是字符串 ,键必须是不可变类型
1 2 3 4
| d = {1:1,2:2,3:3} d = {'A': 1, 'C': 3, 'B': 2,} d = {(1,):1,(2,):2} d = {[1,]:1,[2,]:2}
|
四、修改和添加元素
1 2 3 4 5 6 7
| info = {'id':1, 'name':'Mr_lee', 'age':18}
id = info.get('id') print(id)
id = info['id'] print(id)
|
1 2 3 4
|
info['id'] = 100 print(info)
|
1 2 3
| info['gender'] = True print(info)
|
五、字典常用的方法
函数 |
描述 |
d.clear() |
清空字典中的所有的元素 |
d.pop(key) |
删除指定键对应的值(kv一起被删除) |
d.popitem() |
随机移除并返回被移除的键值对 类型是一个元组(k,v) |
d.get(key,default) |
返回指定键对应的值,当键不存在时,返回为空,如果给了default则当键不存在时,返回default的值 |
d.items() |
以列表的形式返回所有的键值对,列表中的每一个元素都是一个元组包含一个键和值 dict_items([('id', 1), ('name', 'Mr_lee'), ('age', 18)]) |
d.keys() |
返回所有的键 |
d.values() |
返回所有的值 |
d1.update(d2) |
用一个字典/可迭代对象来更新另一个字典 |
d.copy() |
拷贝一个字典 |
1 2 3 4 5 6 7 8 9
| info.clear() print(info)
v = info.pop('name') print(v) print(info)
item = info.popitem() print(item)
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| info = {'id':1, 'name':'Mr_lee', 'age':18, 'age':20} print(info)
n = info.get('Name') print(n)
n = info.get('NAME','Tom') print(n)
n = info.get('name','Tom') print(n)
|
1 2 3 4 5 6
| items = info.items() print(items) print(list(items))
for k,v in list(items): print(k,v)
|
1 2 3 4 5 6
| print(info.keys())
for key in info.keys(): print(key)
print(info.values())
|
1 2 3 4 5 6 7
| info = {'id': 1, 'name': 'Mr_lee', 'age': 18}
d = {'height': 180, 'weight': 180}
info.update(d) info.update(['A1', 'B2']) print(info)
|
1 2 3 4 5 6 7 8 9 10 11 12
| info = {'id': 1, 'name': 'Mr_lee', 'age': 18} info = {'id': 1, 'name': 'Mr_lee', 'age': 18} for k in info: print(k,info.get(k))
for k in info.keys(): print(k)
for k,v in info.items(): print(k,v)
|