标签:item 接收 ict 构建 str class 调用 模块 import
setdefault
result = {} data = [("p", 1), ("p", 2), ("p", 3), ("h", 1), ("h", 2), ("h", 3)] for (key, value) in data: result.setdefault(key, []).append(value) print(result) # {‘p‘: [1, 2, 3], ‘h‘: [1, 2, 3]}
defaultdict
defaultdict是属于collections 模块下的一个工厂函数,用于构建字典对象,接收一个函数(可调用)对象为作为参数。参数返回的类型是什么,key对应value就是什么类型。
from collections import defaultdict result = defaultdict(list) data = [("p", 1), ("p", 2), ("p", 3), ("h", 1), ("h", 2), ("h", 3)] for (key, value) in data: result[key].append(value) print(result) for k,v in result.items(): print(k,v) """ defaultdict(<class ‘list‘>, {‘p‘: [1, 2, 3], ‘h‘: [1, 2, 3]}) p [1, 2, 3] h [1, 2, 3] """
setdefault
的作用是:
如果 key 不存在字典中,则会用 setdefault 中的第二个参数作为该 key 的值,再返回该值。
keys = {‘a‘, ‘e‘, ‘i‘, ‘o‘, ‘u‘ } value = [] d = dict.fromkeys(keys, value) print(d) # {‘i‘: [], ‘u‘: [], ‘o‘: [], ‘a‘: [], ‘e‘: []}
Python之列表转字典:setdefault、defaultdict、fromkeys
标签:item 接收 ict 构建 str class 调用 模块 import
原文地址:https://www.cnblogs.com/zzy-9318/p/10180486.html