字典及其增删改查,解构用法
1 dict :字典 用{}来表示,每次保存两个数据 :即 key:value,又称键值对.
value:任意的数据类型.
key:必须是可哈希的(不可变)
每当我们保存字典得时候,每次打印输出得到的结果都是不一样的,因为字典是无序的,不按照我们保存的顺序保存; 字典不能切片
2 字典的增删改查 例:dic = {} dic[ key] = value
如果key存在,执行的是修改操作,如果key不存在,执行的是新增.
dic.setdefault(key,value) 这个数据是字典增加的另一种方法,如果存在key,不执行任何操作;如果不存在就会新增.
删除: pop del clear popitem
dic.pop( key) 括号里面必须有key,他是有返回值的,返回value.
del dic[key] 缺点是没有返回值.
dic.clear( ) 清空字典
dic.popitem() 随机删除,有返回值,返给的是元组.
解构: a,b = (1,7) a,b = [1,4] 解构可以解开元组和列表.
print(a) a = 1 print(a)a = 1
print(b) b = 7 print(b)b = 4
a,b = b,a a 和 b 得值会互换.
修改 :dic[ key(原有的键)] = value(新的值)
di = {"na":33} di1 = {"sd":38,343:dkjfk}
di.update(di1) print(di) print(di1) 把di1更新di,di中如果存在了di1中的key,会修改(覆盖),如果不存在,新增这个key,value.
查询: lst = [1,2,3,4,5]
print(lst[6]) 之后就会报错,出现这句话lst index out of range.
dic = {"djif":12,"fjei":43,"fjkd":33}
print(dic["kdjfk"]) 如果key不存在就会出现报错.
如果打印dic.get("kdjfk")就不会出现报错.
print(dic.get("kdjfk"))返回None.且,dic.get("kdjfk","没有这个件") 其中None可以换成别的返回值,返回值默认None.可以手动设置.
dic.keys() 要的是字典的key, dic.values()要的是字典的值,dic.items()要的是键值对.
for k,v in dic.items():
print(k) 从dic 中获取到list 列表,列表中每一项都是一个元祖(key,value)
print(v) 通过解构得到key,value.