python dict字典常用操作

字典的特性:

  1. key唯一
  2. 无序(似乎是python3.6以后,字典默认保持插入时的顺序)
'''特性: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排序,可以降序或升序,打印键值对元组

# sorted() 的 形参 key 接受一个函数,sorted会根据这个函数的返回值作为键,来排序
students = [
    ["wang",25],
    ["zhang",33],
    ["li",28]
]

stu = sorted(students,key=lambda student:student[1])  # student这个参数,相当于students列表中的每一个元素如:["wang",25], lambda函数返回 ["wang",25][1],然后 sorted 根据每一个元素的这个值,进行排序
print(stu)
posted @ 2019-10-29 16:22  wztshine  阅读(810)  评论(0编辑  收藏  举报