字典内置的方法
clear()
语法:d.clear()
参数:无
描述:无返回值。原字典被清空。
1 d1={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 print(d1.clear())#清空 7 print(d1)
结果
1 None 2 {}
copy()
语法:d.copy()
参数:无
描述:返回值是原字典的副本。
1 d2={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 6 } 7 print(d2.copy())
结果
1 {'a': 'A', 'b': 'B', 'c': 'C'}
@staticmethod意思是静态方法,直接类名.方法名就可以用
fromkeys()
语法:dict.fromkeys(seq[,value])
参数:seq-----新字典的键
value-----新字典所有键对应的值,默认为None
描述:返回一个新字典
1 t1=("baidu","biying") 2 t2=("www.baidu.com","www.biying.com") 3 d1=dict.fromkeys(t1) 4 print(d1) 5 d2=dict.fromkeys(t1,t2) 6 print(d2)
结果
1 {'baidu': None, 'biying': None} 2 {'baidu': ('www.baidu.com', 'www.biying.com'), 'biying': ('www.baidu.com', 'www.biying.com')}
get()
语法:d.get(key,default=None)
参数:key------字典中要查找的键
default-----如果指定键的值不存在,返回该默认值,默认为None
描述:返回指定键的值,若不存在返货设置的默认值
1 d2={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 #通过字典的key直接取值时如果没有会报错,可以用get()来解决返回值,当不存在时,可以自定义返回值 7 print(d2.get("a"))#字典中有key时返回对应的值 8 print(d2.get("a",111)) 9 print(d2.get("f"))#字典中有key时返回对应的值,返回None,不报错 10 print(d2.get("f",123))#字典中有key时返回对应的值,返回第二个参数值,不报错
结果
1 A 2 A 3 None 4 123
items()
语法:d.items()
参数:无
描述:返回可遍历的(key,value)元组数组。
1 d2={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 for k,v in d2.items(): 7 print(k,v) 8 print(d2.items()) 9 print(list(d2.items()))
结果
1 a A 2 b B 3 c C 4 dict_items([('a', 'A'), ('b', 'B'), ('c', 'C')]) 5 [('a', 'A'), ('b', 'B'), ('c', 'C')]
keys()
语法:d.keys()
参数:无
描述:返回一个迭代器,并非直接表,若要返回雷彪还需要list()
1 d2={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 for k in d2.keys(): 7 print(k) 8 print(d2.keys()) 9 print(list(d2.keys()))
结果
1 a 2 b 3 c 4 dict_keys(['a', 'b', 'c']) 5 ['a', 'b', 'c']
pop()
语法:d.pop(key[,default])
参数:key-----要删除的键值对的key
default-----没有这个key,旧返回默认值,必须添加,否则报错
返回值:返回被删除的值,没有就报错或返回默认值
d2={ "a":"A", "b":"B", "c":"C", } #pop可以根据key删除键值对,并且拿到这个删除的value,不存在时,可以根据第二个参数来自定义返回的值 n0=d2.pop("a")#参数不能为空,不存在的key时,报错 print(d2,n0) n1=d2.pop("f",100) print(d2,n1)
结果
1 {'b': 'B', 'c': 'C'} A 2 {'b': 'B', 'c': 'C'} 100
popitem()
语法:d.popitem()
参数:无
描述:返回值是随机删除字典中的一个键值对,(key,value)形式
1 d2={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 n2=d2.popitem()#popitem随机删除并返回一个键值对 7 k1,v1=n2#分别获取被删除的key和value 8 print(d2,n2) 9 print(k1,v1)
结果
1 {'a': 'A', 'b': 'B'} ('c', 'C') 2 c C
setdefault()
语法:d.setdefault(key,default=None)
参数:key-----查找的key
default-----查找的key在字典中时,忽略default;不在时,会添加这个key,而default设为它的value
描述:如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
1 d3={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 n3=d3.setdefault("1")#默认值为None 7 print(d3,n3) 8 n4=d3.setdefault("a","D")#key存在时获取当前key的value,忽略第二个参数 9 print(d3,n4) 10 n5=d3.setdefault("f","F")#添加新的键值对,并获取新键值对的value 11 print(d3,n5)
结果
1 'a': 'A', 'b': 'B', 'c': 'C', '1': None} None 2 {'a': 'A', 'b': 'B', 'c': 'C', '1': None} A 3 {'a': 'A', 'b': 'B', 'c': 'C', '1': None, 'f': 'F'} F
update()
语法:d1.update(d2)
参数:d2-----添加到d1字典里的字典
描述:没有返回值,把d2的key:value对更新到d1字典里,如果键值对有重复,用d2的覆盖掉d1的。
1 d4={ 2 "a":"A", 3 "b":"B", 4 "c":"C", 5 } 6 #update 7 d4.update({"k1":12,"a":"AA"})#更新,没有的key加上,存在的就更新value 8 print(d4) 9 #update另一种形式 10 d4.update(k2=123,k3=233,a="ABC")#这样写,key要符合变量名起名要求 11 print(d4)
结果
1 {'a': 'AA', 'b': 'B', 'c': 'C', 'k1': 12} 2 {'a': 'ABC', 'b': 'B', 'c': 'C', 'k1': 12, 'k2': 123, 'k3': 233}
来源:https://www.cnblogs.com/zhangyanlong/p/11327339.html