python基础(5)字典
字典
字典的key和value一一对应的,字典是可变的,也是有序的(python3.6版本开始字典有序),可迭代的
增加元素
当key不存在时,直接赋值
a = {"status": 200}
a["message"] = "成功"
print(a)
>>> {'status': 200, 'message': '成功'}
删除元素
del 字典名[key]
a = {"status": 200, "message": "成功"}
del a["status"]
print(a)
>>> {'message': '成功'}
查看元素
当key存在时,字典[key]
a = {"status": 200, "message": "成功"}
print(a["status"])
>>> 200
get(key[, default])
a = {"status": 200, "message": "成功"}
print(a.get("status"))
>>> 200
字典的3个方法:keys、values、items
a = {"status": 200, "message": "成功"}
print(a.keys())
print(a.values())
print(a.items())
>>> dict_keys(['status', 'message'])
dict_values([200, '成功'])
dict_items([('status', 200), ('message', '成功')])
# 直接获取字典中的key和value可以使用以下方法
a = {"status": 200, "message": "成功"}
for key, value in a.items():
print(key, value)
>>> status 200
message 成功
zip函数
zip()函数将两个可迭代对象打包成元组
print(dict(zip([101, 102, 103], ['张三', '李四', '王五'])))
>>> {101: '张三', 102: '李四', 103: '王五'}
字典推导式
a = {"status": 200, "message": "成功"}
print({k: v for k, v in a.items()})
>>> {'status': 200, 'message': '成功'}
补充知识
字典中,setdefault
与get
的区别
get 和setdefault区别是在于这个key不存在然后对字典是否造成影响(是否添加新的键值对)
- setdefault:如果key值不存在,那么会把这个键值对添加到字典中
- get:如果key不存在,那么对dict无任何影响