python - 追加到列表或创建新列表
问题描述
我想向列表中添加一个元素,但该列表可能尚不存在。在这种情况下,我会创建该单个元素的列表。它可能是字典中的一个条目。添加到特定字段是我的责任 - 因此附加。但是,如果这是我第一次这样做,那么字典中甚至还不存在密钥。因此设置为单个元素的列表。
所以简而言之,以下
if 'dependencies' in userdata:
userdata['dependencies'].append('foo')
else:
userdata['dependencies'] = ['foo']
这感觉非常不合时宜和丑陋。有哪些更好的选择?
解决方案
使用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')
推荐阅读
- c++ - 如何将具有 unique_ptr 向量的类克隆到基类
- python - 如何将 pandas 数据框转置为保留所有值的交叉制表数据框
- javascript - ReactNative NativeComponents 是一个空对象
- javascript - 删除 p 标签的内容
- css - CSS:2个div,并排,右div在调整大小时被切断
- spring-data - 使用 pessimistic_write 锁查找和更新不能防止乐观锁失败?
- java - 在访问方法中使用相同的 UI 实例
- javascript - 将 JS 函数参数传递给标签
- image - odoo12:为不同的屏幕尺寸设置不同的图像
- wpf - 在 xaml 中注入整个 javascript 并从后面的代码中传递数据