![python defaultdict:0 vs. int和[] vs list,第1张 python defaultdict:0 vs. int和[] vs list,第1张](/aiimages/python+defaultdict%EF%BC%9A0+vs.+int%E5%92%8C%5B%5D+vs+list.png)
所
defaultdict需要的只是一个可调用对象,该对象将返回不带参数调用时应用作默认值的对象。
如果要调用
int构造函数,它将返回
0,如果要调用
lambda:0,它将返回
0。与列表相同。唯一的区别是,构造函数将始终使用其逻辑来创建对象。一个lambda,如果您选择这样做,则可以添加其他逻辑。
例如,
# alternating between `0` and `[]`from itertools import countfactory = lambda c=count(): 0 if next(c) % 2 else []superdict = defaultdict(factory)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)