首页 > 解决方案 > 追加到列表或创建新列表

问题描述

我想向列表中添加一个元素,但该列表可能尚不存在。在这种情况下,我会创建该单个元素的列表。它可能是字典中的一个条目。添加到特定字段是我的责任 - 因此附加。但是,如果这是我第一次这样做,那么字典中甚至还不存在密钥。因此设置为单个元素的列表。

所以简而言之,以下

if 'dependencies' in userdata:
    userdata['dependencies'].append('foo')
else:
    userdata['dependencies'] = ['foo']

这感觉非常不合时宜和丑陋。有哪些更好的选择?

标签: python

解决方案


使用try...except如下:

try:
    X.append('foo')
except NameError:
    print("you need create list first. I create list for you. then append.")
    X = ['foo']

编辑:根据您的编辑问题:

from collections import defaultdict
userdata = defaultdict(list)
userdata['dependencies'].append('foo')

推荐阅读