13

以下を行う一行の方法はありますか?

myDict = {}
if 'key' in myDic:
    del myDic['key']

ありがとう

4

3 に答える 3

22

あなたは書ける

myDict.pop(key, None)
于 2012-02-21T12:02:47.580 に答える
4

メソッドに加えて、popいつでも明示的に__delitem__メソッドを呼び出すことができます。これは、と同じことを行いますdelが、ステートメントではなく式として実行されます。これは式であるため、インラインの「if」(PythonのC三項演算子のバージョン)と組み合わせることができます。

d = {1:2}

d.__delitem__(1) if 1 in d else None
于 2012-02-21T13:42:45.770 に答える
0

これをワンライナーと呼びますか:

>>> d={1:2}
>>> if 1 in d: del d[1]
... 
>>> d
{}
于 2012-02-21T12:17:12.990 に答える