Python 基于条件返回字典
我尝试使用lambda或其他python特性在满足条件时返回字典,如果不满足条件则返回nonePython 基于条件返回字典,python,lambda,Python,Lambda,我尝试使用lambda或其他python特性在满足条件时返回字典,如果不满足条件则返回none myDict = None myDict = lambda c: {} if not myDict else myDict 很明显,这不起作用,因为lambda没有被执行,所以最“python”的方法是什么?在我看来,您应该只使用条件表达式: myDict = {} if not myDict else myDict lambda是一种创建函数的方法。因此: 与以下内容大致相同: def fu
myDict = None
myDict = lambda c: {} if not myDict else myDict
很明显,这不起作用,因为lambda没有被执行,所以最“python”的方法是什么?在我看来,您应该只使用条件表达式:
myDict = {} if not myDict else myDict
lambda
是一种创建函数的方法。因此:
与以下内容大致相同:
def func(x):
return x*x
因此,在您的示例中,您创建的函数或多或少等效于:
def myDict(c):
return {} if not myDict else myDict
在我看来,您应该只使用条件表达式:
myDict = {} if not myDict else myDict
lambda
是一种创建函数的方法。因此:
与以下内容大致相同:
def func(x):
return x*x
因此,在您的示例中,您创建的函数或多或少等效于:
def myDict(c):
return {} if not myDict else myDict
返回一个空字典
返回一个空字典。您也可以使用
locals().get('myDict',None)
(或globals().get
,取决于您的范围)您也可以使用locals().get('myDict',None)
(或globals().get
,取决于您的范围)空字典是False
。是,但是我想在第一行之后更新我的dict.update(),myDict
是None
,第二行之后是lambda函数。它从来不是一本字典。我不清楚“如果有条件,我想还字典,如果没有条件,我想不还字典。”。你能解释一下吗?空的dict是False
。是的,但我想在我的意思是myDic之后更新我的dict。更新()在第一行之后,myDict
是None
,在第二行之后是lambda函数。它从来不是一本字典。我不清楚“如果有条件,我想还字典,如果没有条件,我想不还字典。”。你能试着澄清一下吗?我认为现在条件表达式可能比逻辑或更受欢迎。(对于初学者来说,它的行为更自然一些)我认为现在条件表达式可能比逻辑或更受欢迎。(对于初学者来说,它表现得更自然一些)