我希望能够向字典添加属性,但前提是要传递的条件为true。例如:
def addSum(num):
obj = {
'name': "Home",
'url': "/",
num > 0 ? 'data': num
}
这可能吗?我找不到在python中执行此操作的方法,我只在javascript中看到过示例。
答案 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