0

以下のコードがエラーをスローする理由を理解したいのですが、特定のキーが存在する場合、辞書の項目を削除しようとしています。

    >>> 
    >>> a = {1:1, 2:2}
    >>> type(a)
    <type 'dict'>
    >>> a.has_key(1) and del a[1]
    File "<stdin>", line 1
    a.has_key(1) and del a[1]
                   ^
    SyntaxError: invalid syntax
    >>> 

上記のコードを機能させる唯一の方法は、

    if a.has_key(1): del a[1]
4

1 に答える 1

5

delステートメントです。式の一部として使用することはできません。とにかく何をしようとしているのかは明確ではありませa.has_key(1) and del a[1]ん。おそらくあなたは意味します:

if a.has_key(1):
    del a[1]

または、a.pop(1, None)dictから1つのキーも削除する代替手段。

于 2012-09-13T08:14:22.563 に答える