有条件地将属性添加到 Python 字典中

Dem*_*ius 6 python

我希望能够向字典添加属性,但前提是我传入的条件为真。例如:

def addSum(num):
    obj = {
             'name': "Home",
              'url': "/",
              num > 0 ? 'data': num
    }
Run Code Online (Sandbox Code Playgroud)

这可能吗?我找不到在 python 中执行此操作的方法,我只看到了 javascript 中的示例。

Pru*_*une 7

你不能用完全那样的语法来做到这一点。一方面,您需要 Python,而不是 Java/C。

(1) 添加属性,但设置为None

obj = {'name': "Home",
       'url': "/",
       'data': num if num > 0 else None
      }
Run Code Online (Sandbox Code Playgroud)

(2) 使其成为附加组件:

obj = {'name': "Home",
       'url': "/"}
if num > 0:
    obj['data'] = num
Run Code Online (Sandbox Code Playgroud)


Max*_*ore 7

obj = {
    'name': 'Home',
    'url': '/',
    **({'data': num} if num > 0 else {})
}
Run Code Online (Sandbox Code Playgroud)

:D