字典
用{}来表示 ,以键值对{key:value}的形式存储数据,python对key进行哈希运算.
键(key):都必须是可哈希的 ,不可变的数据类型就可以当做字典中的键
值(value):没有任何限制
1.增删改查
(1)增
dic[key] = value ,直接添加到字典中
dic.setdefault(key:value),如果键在字典在不存在,不进行任何操作,如果存在,就添加
字典可以通过key查询,没有这个key,则返回None
(2)删
pop(key) 有返回值,返回的是被删除的value
del dic[key]
popitem() 随机删除
clear() 清空字典
(3)改
dic[key] = value
dic.update(字典1) 如果字典1中的key不在dic中,添加到dic中,如果在,改变key的value值
(4)查
get(key)
dic[key]
for 循环
setdefault(key)
2.字典的其他操作
keys 获取到所有的键存在一个高仿的列表中
1 dic = {"a":1,"b":2,"c":3} 2 for keys in dic.keys(): 3 print(keys)
values 获取到所有的值存在一个高仿的列表中
dic = {"a":1,"b":2,"c":3} for i in dic.values(): print(i)
items 获取到所有的键值对以元组的形式存在一个高仿的列表中
dic = {"a":1,"b":2,"c":3} for i in dic.items(): print(i)
enumerate:枚举 对于一个可迭代的对象,enumerate将它组成一个索引序列,利用它可以同时获得索引和值
li = ['a','b','c','d','e'] for i in enumerate(li): print(i)
结果为
(0,'a')
(1,'b')
(2,'c')
(3,'d')
(4,'e')
解构(解包) 将后边解构打开按位置赋值给变量 ,支持字符串,列表,元组
a,b = "12" print(a) print(b) 结果为 1 2
dic = {"a":1,"b":2,"c":3} for i,j in dic.items(): print(i) print(j) 结果为 a 1 b 2 c 3
3.字典的嵌套
dic = { 'name':'a', 'age':20, 'wife':{ 'name':'b', 'age':20, }, 'baby':[ {'name':'c','age':18}, {'name':'c','age':15}, ] } dic['baby'][0]['age'] = 19 结果为 {'name': 'a', 'age': 43, 'wife': {'name': 'b', 'age': 39, }, 'baby': [{'name': 'c', 'age': 19}, {'name': 'c', 'age': 15}]}