python - 有没有更优雅的方法用 Python 编写这个?

标签 python python-2.7

我想将 'status' 附加到由 'update_fields' 索引的字典值或添加 ['status'] 作为值如果该键不存在,则为由 'update_fields' 索引的 kwargs。

kwargs.setdefault('update_fields', kwargs.get('update_fields', []).append('status'))

要么就是这3行代码,肯定python可以做得比这更好!

最佳答案

getsetdefault 本质上是做同一件事的两种方法;把它们放在一起就是在重复你自己。 getsetdefault 之间的唯一区别是,如果默认值不存在,setdefault 设置 值。之后,它们在语义上是相同的。

所以这部分:

kwargs.get('update_fields', [])

..是多余的。 setdefault 设置默认值(并返回它,如 get)如果字典还没有那个键的值,否则它只是查找与键。

所以你只需要:

kwargs.setdefault('update_fields', []).append('status')

关于python - 有没有更优雅的方法用 Python 编写这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23821199/

相关文章:

python - 如何重复每个数组元素的次数等于元素的值?

python - 重复 os.path.isdir 调用中的巨大内存泄漏?

python - 如何使用 Sphinx 记录特定部分中的成员?

python - 总结 Python 2 中计数器的所有值

python - 如果文件不存在则创建文件,然后以 RW 模式打开该文件

python - Py4JException : Constructor org. apache.spark.sql.SparkSession([class org.apache.spark.SparkContext, class java.util.HashMap]) 不存在

python - 如何设置 keras.layers.RNN 实例的初始状态?

Python 2.7 SimlpeQueue 导入错误(错误?)

python - 在 appengine 中使用较少的数据存储小操作

python - Plotly:如何在不循环遍历数据集的情况下突出显示周末?