您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python defaultdict:0 vs. int和[] vs list

python defaultdict:0 vs. int和[] vs list

defaultdict需要的只是一个调用对象,该对象将返回不带参数调用时应用作认值的对象。

如果要调用int构造函数,它将返回0,如果要调用lambda: 0,它将返回0。与列表相同。唯一的区别是,构造函数将始终使用其逻辑来创建对象。一个lambda,如果您选择这样做,则可以添加其他逻辑。

例如,

# alternating between `0` and `[]`
from itertools import count
factory = lambda c=count(): 0 if next(c) % 2 else []
superdict = defaultdict(factory)
python 2022/1/1 18:46:30 有346人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶