模块_collections包_defaultdict

 

# 创建默认值字典 defaultdict()中传入的参数 必须是可被调用的 callable
from collections import defaultdict
dd = defaultdict(lambda: 'V3')  # lambada表达式 【lambada 参数: 返回结果】  无参数的lambada表达式

dd['key1'] = 'V1' dd['key2'] = 'V2'

print(dd['key3']) # 新增字典元素,键'key3' 对应的值采用默认值字典中的'V3' print(dd) # # 创建默认值字典 defaultdict()中传入的参数 必须是可被调用的 callable

 

 

# 解法一

lst = [11, 22, 33, 44, 55, 66, 77, 88, 99] dic = {} for el in lst: if el > 66: if 'k1' not in dic: dic.setdefault('k1', []) else: dic['k1'].append(el) else: if 'k2' not in dic: dic.setdefault('k2', []) else: dic['k2'].append(el) print(dic) # {'k2': [22, 33, 44, 55, 66], 'k1': [88, 99]}

# 解法二

from
collections import defaultdict values = [11, 22, 33, 44, 55, 66, 77, 88, 99] dd = defaultdict(list) # 此处传入的参数 必须是可被调用的 callable for v in values: if v > 66: dd['k1'].append(v) else: dd['k2'].append(v) print(dd) # defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99]})

 

posted @ 2020-05-07 19:44  CherryYang  阅读(166)  评论(0)    收藏  举报