当我必须向不存在的列表中插入值时,我发现自己总是在写这种丑陋的片段:
if hasattr(obj, 'key'):
obj.key = []
obj.key.append(value)
当然,我可以使用defaultdict(list)
,但在这个用例中,我不能先验地使用它。
有没有一种更像蟒蛇但更简单的方法来实现这一点?
您可以在实例dict上调用setdefault
,即
vars(obj).setdefault('key', []).append(value)