基础数据类型:tuple
1.1 新增
- dic["key"] = value 字典中没有key就添加,有key就覆盖
- dic.setdeafult("key","value") 字典中没有key就添加,有key也不变
### 新增键值对
1 dict = {'name':'hexo' ,'sex':'男'}
2 ### 法一:字典名["key"] = "value" 3 dict['age'] = 2 4 print(dict)
5 ### 法二:字典名.setdefault("key","value") 6 dict.setdefault("age",2) 7 print(dict)
运行结果:
{'name': 'hexo', 'sex': '男', 'age': 2}
{'name': 'hexo', 'sex': '男', 'age': 2}
1.2 删除
- dic.pop("key") 根据key值删除(有返回值)
- dic.clear() 清空字典
- del dic["key"] 删除字典/键值对
- dic.popitem() 随机删除键值对
### 删除 pop() clear() del popitem()
1 dict = {'name':'hexo' ,'sex':'男'} 2 # a = dict.pop("name") 3 # print(a,dict) # 删除name键值对 4 5 # a = dict.pop("nameq","没有此键") 6 # print(a,list) # 若将被删除的key值不存在,可以返回“没有此键” 7 8 # dict.clear() 9 # print(dict) # 清空字典 10 11 # del dict 12 # print(dict) # 删除字典 13 14 # del dict["name"] # 删除name键值对 15 # print(dict) 16 17 # a = dict.popitem() 18 # print(a,dict) # 随机删除
1.3 修改
- dic["key"] = value 将字典中key对应值修改成value
- dic2.update(dic1) 将字典dic2中的键值对覆盖添加到dic1,dic1原有的键值对不变
### 修改字典
1)修改一个键值对
1 dict = {'name':'hexo' ,'sex':'男'} 2 dict['sex'] = '女' 3 print(dict)
运行结果:
{'name': 'hexo', 'sex': '女'}
2)修改整个字典中的键值对 5 dict1 = {'name':'hexo' ,'sex':'男'} 6 dict2 = {'name':'小花','sex':'女'} 7 dict2.update(dict1) 8 print(dict1,"\n",dict2)
运行结果:
{'name': 'hexo', 'sex': '男'}
{'name': 'hexo', 'sex': '男'}
1.4 查找
- dic["key"] 根据key值查对应的value值
- dic.get("key",k) 根据key值查对应的value值,如果没有查到key值,则默认返回k;若没有设置k,则返回None
dict = {'name':'hexo' ,'sex':'男'}
# 1、dic['key'] = value a = dict['name'] print(a)
# 2、dic.get('key') b = dict.get('name') print(b)
# 3、通过key值查找到value,如果找不到就默认一个值 c = dict.get('name1','hexo1') print(c)
### 查询字段的键值对 keys() values() items()
dict = {'name':'hexo' ,'sex':'男'}
1 ### 查询所有的key值
2 keys = dict.keys()
3 print(keys,type(keys)) 4 ### 查询所有的value值 5 values = dict.values() 6 print(values,type(values)) 7 ### 查询所有的键值对 8 items = dict.items() 9 print(items)
1.5 for 循环打印字典
1 for k in dic: #循环打印key
2 print(k)
3 for k in dic.keys(): #循环打印key
4 print(k) 5 for v in dic.values(): #循环打印values 6 print(v) 7 for k,v in dic.items(): #循环打印key + values 8 print(k,v) 9 for k in dic: #循环打印 key + values 10 print(k,dic[k])