dict.clear() 删除字典中所有元素
dict.copy() 返回字典(浅复制)的一个副本
dict.get(key,default=None) 对字典dict中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict.keys() 返回一个包含字典中键的列表
dict.values() 返回一个包含字典中所有值的列表
dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
参考:Python中dict字典使用方法
d = dict.fromkeys([1, 2, 3], ["name", "age"])
print("d:", d)
# ->d: {1: ['name', 'age'], 2: ['name', 'age'], 3: ['name', 'age']}
d[1][0] = "company" # 浅拷贝
print("d of modify:", d) # 此处,列表中的信息都被修改了
# ->d of modify: {1: ['company', 'age'], 2: ['company', 'age'], 3: ['company', 'age']}
info = {
"teacher1": "苍井空",
"teacher2": "小泽玛利亚",
"teacher3": "泷泽萝拉"
}
print("info", info)
# ->info {'teacher2': '小泽玛利亚', 'teacher3': '泷泽萝拉', 'teacher1': '苍井空'}
print(info["teacher1"]) # 不存在则报错
# ->苍井空
print(info.get("teacher5")) # 推荐方式,不会报错
# ->None
print("teacher1" in info) # py2:info.has_key("teacher5")
# ->True
print("keys:", info.keys())
# ->keys: dict_keys(['teacher2', 'teacher1', 'teacher3'])
print("values:", info.values())
# ->values: dict_values(['小泽玛利亚', '苍井空', '泷泽萝拉'])
print("items:", info.items())
# ->items: dict_items([('teacher2', '小泽玛利亚'),
# ('teacher1', '苍井空'), ('teacher3', '泷泽萝拉')])
info["teacher1"] = "天海翼" # 存在会被修改
print("modify:", info)
# ->modify: {'teacher2': '小泽玛利亚', 'teacher1': '天海翼', 'teacher3': '泷泽萝拉'}
info["teacher4"] = "上原瑞穗" # 没有则会创建
info.setdefault("teacher1", "樱井莉亚") # 存在则不会被修改
print("add:", info)
# ->add: {'teacher4': '上原瑞穗', 'teacher2': '小泽玛利亚',
# 'teacher3': '泷泽萝拉', 'teacher1': '天海翼'}
b = {
"teacher1": "樱井莉亚",
"teacher5": "桃谷绘里香"
}
info.update(b)
print("update:", info)
# ->update: {'teacher1': '樱井莉亚', 'teacher4': '上原瑞穗',
# 'teacher2': '小泽玛利亚', 'teacher3': '泷泽萝拉', 'teacher5': '桃谷绘里香'}
del info["teacher1"]
info.pop("teacher2") # 标准写法
info.popitem() # 随机删除一个
print("delete:", info)
# ->delete: {'teacher5': '桃谷绘里香', 'teacher3': '泷泽萝拉'}
for i in info: # 推荐
print(i, info[i])
# teacher5 桃谷绘里香
# teacher3 泷泽萝拉
print("*"*50)
for key, value in info.items(): # 先转列表,在遍历,如果字典过大,会变慢
print(key, value)
# teacher5 桃谷绘里香
# teacher3 泷泽萝拉
info.clear()
print("clear:", info)
# ->clear: {}