字典的特性:
key唯一
无序
'''特性:key唯一;无序'''
info = {
'stu1101': "安徽",
'stu1102': "北京",
'stu1103': "河南",
}
# 增删查改
info["stu1104"] = "浙江" #增
info['stu1101'] = "中国" #改
info.pop('stu1104') #删
# del info['stu1104'] # 删
print('stu1101' in info) # 判断是否在字典中,有则返回True,没有则返回False
print(info.get('stu1106')) # 查询,没有的话返回None
print(info['stu1101']) # 获取key的值;如果没有key: stu1109,会报错,上面的get方法不会
info.setdefault("stu1106","江苏") # 如果没有key,就设置值江苏,否则不变
# update
b = {1:2,3:4,'stu1102':'朝阳区'}
info.update(b) # 合并更新两个字典,如果有相同的key,则更新此key的value,没有则添加键值对
print(info)
# 获取字典的键值对、字典的值、字典的键
print(info.items())
print(info.values())
print(info.keys())
# 遍历字典
for key in info: # 更高效一些
print(key,info[key])
for k,v in info.items(): # 先把字典转成list,数据大时不要用
print(k,v)
# 对字典排序
a = {1:23,99:2,28:72,3:83,72:222}
print(sorted(a)) # 对字典按照key排序,打印key的list
print(sorted(a.items())) # 对字典按照key排序,打印键值对元组,list类型
print(sorted(a.items(),key=lambda x:x[1],reverse=True)) # 对字典按照value排序,可以降序或升序,打印键值对元组