在Python中有条件地向字典添加属性

时间:2019-06-27 20:08:15

标签: python

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

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

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

4 个答案:

答案 0 :(得分:3)

只需在单独的语句中添加/检查它即可

def addSum(num):
    obj = {
        'name': "Home",
        'url': "/"
    }
    if num > 0: obj['data'] = num
    return obj

print(addSum(3))   # {'name': 'Home', 'url': '/', 'data': 3}
print(addSum(0))   # {'name': 'Home', 'url': '/'}

答案 1 :(得分:2)

创建不含可选元素的字典,然后将其添加到if语句中

def addSum(num):
    obj = {
        'name': "Home",
        'url': "/"
    }
    if num > 0:
        obj['data'] = num;

答案 2 :(得分:2)

是的,只需创建不带属性的字典,然后在条件为真的情况下创建一个if语句来添加它:

def addSum(num):
    obj = {
          'name': "Home",
          'url': "/",      
    }
    if num > 0:
        obj['data'] = num

    return obj

答案 3 :(得分:2)

您不能完全使用这种语法。一方面,您需要Python,而不是Java / C。

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

obj = {'name': "Home",
       'url': "/",
       'data': num if num > 0 else None
      }

(2)使其成为附件:

obj = {'name': "Home",
       'url': "/"}
if num > 0:
    obj['data'] = num