【python】dict的常用方法

d = {
    'b1': {"company": "a1"},
    "b2": {"company": "k2"}
}

d.clear()
print(d)    # {}


# copy,返回浅拷贝
new_d = d.copy()
new_d['b1']['company'] = 'f1'

print(d)
print(new_d)
============================
{'b1': {'company': 'f1'}, 'b2': {'company': 'k2'}}
{'b1': {'company': 'f1'}, 'b2': {'company': 'k2'}}
# 浅拷贝可以理解为,d和new_d 都指向同一个地方,某一个被改了,两个都会被改



# 深拷贝
import copy
new_d = copy.deepcopy(d)
new_d['b1']['company'] = 'f1'

print(d)
print(new_d)
===========================
{'b1': {'company': 'a1'}, 'b2': {'company': 'k2'}}
{'b1': {'company': 'f1'}, 'b2': {'company': 'k2'}}
# 深拷贝相当于多复制了一份,改变其中一个,另外一个是不受影响的



#fromkeys
l = ['b1','b2']
dd = dict.fromkeys(l, {'ccc': "bbb"})
print(dd)
================================
{'b1': {'ccc': 'bbb'}, 'b2': {'ccc': 'bbb'}}


#get
d[b3]  # 访问一个没有的key的话,会报错 KeyError
value = d.get('b3', {})  #这样的话如果没有b3这个key 会返回{}


#items
for k, v in d.items():
    print(k,v)


#setdefault
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D



#update   传入可迭代对象,  会合入到d里面去
d.update((('b','c'),))
d.update(('b','c'),) 
d.update({'a':'c'})
d.update('b'='c', 'm'='n')
d.update([('b','c'), ('s','v')])







你可能感兴趣的:(【python】dict的常用方法)