如果列表不存在,则追加值或创建并插入?



当我必须向不存在的列表中插入值时,我发现自己总是在写这种丑陋的片段:

if hasattr(obj, 'key'):
obj.key = []
obj.key.append(value)

当然,我可以使用defaultdict(list),但在这个用例中,我不能先验地使用它。

有没有一种更像蟒蛇但更简单的方法来实现这一点?

您可以在实例dict上调用setdefault,即

vars(obj).setdefault('key', []).append(value)

最新更新