fromkeys是把所有的键值都赋值同样的内容(如果不指定内容则默认赋值为none) 不能通过fromkeys来修改原字典键值的内容,它是重新创建一个字典,并不会对原来字典的键值进行修改。
用法:fromkeys((键值),(初始化数据))没有初始化数据则默认为none
w = {}
ww = {}
print(w.fromkeys((1, 2, 3, 4, 5, 6)))
print(ww.fromkeys((1, 2, 3, 4 ,5 ,6),("林扬","余周周")))
print(ww.fromkeys((1, 2, 3), ("余淮","耿耿")))//企图修改ww字典键值为1,2,3的内容,由输出可以看出,它是创建了一个新的字典
输出:
keys()是返回键值(常和for循环联用)
a = {"林扬":"余周周", "盛淮南":"洛枳", "余淮":"耿耿"}
for eachkey in a.keys():
print(eachkey, end = " ")
林扬 盛淮南 余淮
Process finished with exit code 0
values()是返回键值的内容(常和for循环联用)
for eachvalues in a.values():
print(eachvalues, end = " ")
余周周 洛枳 耿耿
items()是把键值和内容一起返回(常和for循环联用)
for eachitem in a.items():
print(eachitem, end = " ")
('林扬', '余周周') ('盛淮南', '洛枳') ('余淮', '耿耿')
get()也是返回键值和内容,是按键值查找,如果get的内容是字典里有的,那就返回键值和内容;如果字典里没有默认返回键值内容为none,也可以自己定义内容
print(a.get("林扬"))
print(a.get("任逸帆"))
print(a.get("毕十三", "林洛雪"))
余周周
None
林洛雪
clear()是清空一个字典(给一个字典赋值也可以清空,但和clear区别很大:用一个字典给另一个字典赋值,如果对一个字典进行操作的话,那么另一个字典不受影响;但是如果给一个字典使用clear()清空的话,两个字典都会变成空。通过代码说明)
pop()是按键值弹出内容,popitem()是随机弹出
print(a.pop("林扬"))
print(a.popitem())
('余淮', '耿耿')
copy是拷贝内置函数,与用“=”赋值的不同:(拷贝赋值后,对原字典进行操作,另一个字典不受影响;如果是“=”赋值,对原字典进行操作,用原字典赋值的字典也会受影响)
b = {}
c = {}
b = a.copy()
c = a
a["毕十三"] = "林洛雪"
print(b)
print(c)
a.clear()
{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿'}
{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '毕十三': '林洛雪'}
{}
setdefault和get差不多,也是按照键值查找,但是如果setdefault所要查找的键值不存在时就会在字典里自动添加一个,内容默认为空
a.setdefault("路桥川")
print(a)
a.setdefault("毕十三", "林洛雪")
{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '路桥川': None}
{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '路桥川': None, '毕十三': '林洛雪'}
a.update(b)用b字典中键值内容去更新字典a中所对应的键值内容
b = {"林扬":"辛锐", "盛淮南":"焰灵姬"}
a.update(b)
|