dict内置方法

风格不统一 提交于 2020-03-05 15:20:13

字典内置的方法

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}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!