dict1 = { "小柯":23, "小宝": 27 }
dict2 = { "小韩": 22, "小名": 19 }
#字典的合并
dictMerged1 = dict( dict1.items() | dict2.items() )
print(dictMerged1)
#下面这种速度更快
dictMerged2 = dict( dict1, **dict2 )
print(dictMerged2)
#在来看看字典的内置函数update()来合并
dict2.update( dict1 )#这个要注意下是把dict1 添加到了dict2,不要再傻傻的搞个变量接收了
print(dict2)
![]()
dicts = { "小柯":23, "小宝": 27, "小韩": 22, "小名": 19}
#现在我要从字典中取值,不知道健在不在字典中
print(dicts.get('小韩','没有这个健'))#找到名为小韩的健则返回这个健对应的值
print(dicts.get('小红','没有这个健'))#没找到名为小红的健则返回没有找到这个健
#对健在不在字典中做分支处理
if '小韩' in dicts:
print(dicts['小韩'])
else:
print('没有这个健')
#还可以这样
try:
print(dicts['小红'])
except:
print('没有这个健')
![]()
dicts = { "小柯":23, "小宝": 27, "小韩": 22, "小名": 19}
#从字典里取值找到就删除,当健不存在打印没有这个健
print(dicts.pop('小红','没有这个健'))#没找到小红这个健就返回没有这个健
print(dicts.pop('小韩','没有这个健'))#找到名为小韩的健,找到就删除这个健值对
print(dicts)#我们看到小韩的健值对已删除了
![]()
dicts = { "小柯":23, "小宝": 27, "小韩": 22, "小名": 19}
#给字典添加条目,如果存在,就算了,不存在就指定键值对添加上
dicts.setdefault('小柯',100)
print(dicts)#我们看到小柯存在所以dicts没有变化
dicts.setdefault('小红',18)
print(dicts)#小红:18已添加入dicts字典
![]()
dicts = { "小柯":23, "小宝": 27, "小韩": 22, "小名": 19}
#字典的用法扩展
#查找字典最小和最大的健值
min_d=min(zip(dicts.values(),dicts.keys()))
print(min_d)#打印最小的健值对
max_d=max(zip(dicts.values(),dicts.keys()))
print(max_d)#打印最大的健值对
#使用zip()和sorted函数来排列字典数据
d_sorted=sorted(zip(dicts.values(),dicts.keys()))
print(d_sorted)
![]()
dicts1 = { "小柯":23, "小宝": 27, "小韩": 22, "小名": 19}
dicts2 = { "小红":21, "小宝": 27, "小花": 22, "小名": 19}
#查找两个字典的相同的(相同的健,相同的值)
print(dicts1.keys() & dicts2.keys())#得到两个字典相同的健
print(dicts1.keys()-dicts2.keys())#得到dicts1里面dicts2没有的健
print(dicts1.items()&dicts2.items())#得到两个字典相同的键值对
![]()
#Python利用字典+函数实现(C/C++,Java等的switch-case语法功能)
def dadan(x):
if x==7089143:
return '外号:大蛋'+'\n'+'计算机软硬件维修大师'+'\n'+'修图程序资深程序员'\
+'\n'+'电商三大平台自动化管理总监'+'\n'+'青花瓷群现任群主'
def xiaobao(x):
if x==7089143:
return '健身达人'+'\n'+'采薇阁封面设计总监'+'\n'+'采薇阁前端高级工程师'
dicts = { "小柯":dadan,"小宝":xiaobao, "小韩": 22, "小名": 19}
print(dicts.get('小柯')(7089143))
![]()