在Python中有条件地向字典添加属性
我希望能够向字典添加属性,但前提是我传入的条件为true。例如:在Python中有条件地向字典添加属性,python,Python,我希望能够向字典添加属性,但前提是我传入的条件为true。例如: def addSum(num): obj = { 'name': "Home", 'url': "/", num > 0 ? 'data': num } 这可能吗?我在python中找不到这样做的方法,我只看到javascript中的示例。只需在单独的语句中添加/检查它: def addSum(num): obj =
def addSum(num):
obj = {
'name': "Home",
'url': "/",
num > 0 ? 'data': num
}
这可能吗?我在python中找不到这样做的方法,我只看到javascript中的示例。只需在单独的语句中添加/检查它:
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': '/'}
创建不带可选元素的字典,然后将其添加到
if
语句中
def addSum(num):
obj = {
'name': "Home",
'url': "/"
}
if num > 0:
obj['data'] = num;
是的,只需创建不带属性的字典,然后创建if语句以在条件为true时添加它:
def addSum(num):
obj = {
'name': "Home",
'url': "/",
}
if num > 0:
obj['data'] = num
return obj
你不能完全用那种语法。首先,您需要的是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
obj
是一个字典,而不是一个对象。你能添加你心目中的javascript等价物吗?你发布的内容无效。我不知道javascript中有任何类似的语法,但这很酷:)这里有很多例子,这里有一个,所以在第一个例子中,条件必须在值之后?是的。请参阅有关Python三元运算符的任何教程。第一个示例将抛出SyntaxErrorTanks;修复了缺少的引号,并使用剪切和粘贴进行了测试。