#defaultdict的意思是定义一个dict,然后定义这个字典的value默认是一个什么类型 #如下,定义一个字典,该字典的value的值默认是listimport collectionsdef_dict = collections.defaultdict(list) def_dict[‘k1‘].append(‘v1‘)print(def_dict[‘k1‘])# [‘v1‘]print(def_dict)# defaultdict(<class ‘list‘>, {‘k1‘: [‘v1‘]})
#有序字典,用OrderedDict来创建一个有序的字典 import collectionsorder_dict = collections.OrderedDict()order_dict[‘k1‘] = ‘v1‘order_dict[‘k2‘] = ‘v2‘order_dict[‘k3‘] = ‘v3‘order_dict[‘k4‘] = ‘v4‘print(order_dict) # OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, ‘v4‘)]) #有序字典中还有一些方法,这个和字典中的方法是一致的 #move_to_end,把某个key的值放在最后order_dict.move_to_end(‘k2‘)print(order_dict) # OrderedDict([(‘k1‘, ‘v1‘), (‘k3‘, ‘v3‘), (‘k4‘, ‘v4‘), (‘k2‘, ‘v2‘)]) #popitem,删除ordereddict的最后一个key的值 order_dict.popitem()print(order_dict) # OrderedDict([(‘k1‘, ‘v1‘), (‘k3‘, ‘v3‘), (‘k4‘, ‘v4‘)]) #pop,从ordereddict中拿走指定key的值,同样,pop也可以拿到删除的key对应的value的值ret = order_dict.pop(‘k3‘)print(order_dict)# OrderedDict([(‘k1‘, ‘v1‘), (‘k4‘, ‘v4‘)])print(ret)# v3 #setdefault,给字典设置默认的value的值,下面这两种设置默认value的值的方法是等同的order_dict[‘k2‘] = Noneorder_dict.setdefault(‘k3‘)print(order_dict) # OrderedDict([(‘k1‘, ‘v1‘), (‘k4‘, ‘v4‘), (‘k2‘, None), (‘k3‘, None)])#setdefault也可以对添加的key设置指定的value的值order_dict.setdefault(‘k5‘,‘v5‘)print(order_dict) #OrderedDict([(‘k1‘, ‘v1‘), (‘k4‘, ‘v4‘), (‘k2‘, None), (‘k3‘, None), (‘k5‘, ‘v5‘)]) #update,更新字典,如果有对应的key,则更新key的值,如果没有则添加新key到字典中order_dict.update({‘k6‘:‘v6‘,‘k7‘:‘v7‘})print(order_dict) # OrderedDict([(‘k1‘, ‘v1‘), (‘k4‘, ‘v4‘), (‘k2‘, None), (‘k3‘, None), (‘k5‘, ‘v5‘), (‘k6‘, ‘v6‘), (‘k7‘, ‘v7‘)])
时间: 2024-10-14 22:18:46