This question already has answers here:
Why does del (x) with parentheses around the variable name work?

(1个答案)



python assert with and without parenthesis

(5个答案)


2年前关闭。



>>> li = [1, 2, 3, 4]
>>> li
[1, 2, 3, 4]
>>> del li[2] #case 1
>>> li
[1, 2, 4]
>>> del(li[2])  # case 2
>>> li
[1, 2]
>>> del (li[1]) # case 3
>>> li
[1]
>>>

我的一位教授使用案例2从列表中删除项目。
按照python documentation的情况1是正确的,并且从这个answer还存在另一种语法方式,所以情况3也是正确的,但是据我所知,在python中不存在del方法,情况2如何有效。我搜索了整个python文档,但找不到它。

更新:
如果我自己在模块中编写del方法并同时使用案例2,python解释器如何区分它们还是通过错误进行区分,尽管我直到现在都没有尝试过

最佳答案

它们都是相同的,delyieldreturn的关键字,(list[1])的计算结果是list[1]。因此del(list[1])del (list[1])是相同的。对于基本情况,由于您没有(),因此您需要强制使用额外的空间,因此需要del list[1]

编辑:因为它是一种语言关键字,所以您不能重新定义del

关于python - python中的del()vs del语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53322726/

10-16 14:03