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)也可以从字典中删除 1 键的替代方法。

于 2012-09-13T08:14:22.563 回答