0

ラムダまたはその他の python 機能を使用して、条件が満たされた場合は辞書を返し、そうでない場合は辞書を返そうとしています。

myDict = None

myDict = lambda c: {} if not myDict else myDict

明らかに、ラムダが実行されないため、これは機能しません。そのため、最も「pythonic」な方法は何でしょうか?

4

3 に答える 3

4

条件式を使用するだけでよいように思えます。

myDict = {} if not myDict else myDict

lambda関数を作成する方法です。そう:

func = lambda x: x*x

以下とほぼ同じです。

def func(x):
    return x*x

したがって、あなたの例では、次のものとほぼ同等の関数を作成します。

def myDict(c):
    return {} if not myDict else myDict
于 2013-04-30T13:36:19.320 に答える
0
myDict = None
get_myDict = lambda: myDict or {}

get_myDict()

空の辞書を返します。

于 2013-04-30T13:38:21.610 に答える