首页 > 代码库 > collections之有序字典和默认字典
collections之有序字典和默认字典
#defaultdict的意思是定义一个dict,然后定义这个字典的value默认是一个什么类型
#如下,定义一个字典,该字典的value的值默认是list
import collections
def_dict = collections.defaultdict(list)
def_dict[‘k1‘].append(‘v1‘)
print(def_dict[‘k1‘])
# [‘v1‘]
print(def_dict)
# defaultdict(<class ‘list‘>, {‘k1‘: [‘v1‘]})
#有序字典,用OrderedDict来创建一个有序的字典
import collections
order_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‘] = None
order_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‘)])
collections之有序字典和默认字典
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。