python中的del()vs del语句

时间:2018-11-15 15:29:07

标签: python python-3.x

>>> 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从列表中删除项目。
根据{{​​3}},情况1是正确的,并且从该python documentation还存在另一种语法方式,因此情况3也正确,但是据我所知,python中不存在del方法,情况2如何有效。我搜索了整个python文档,但找不到它。

更新: 如果我自己在模块中编写del方法并同时使用用例2,尽管我到目前为止从未尝试过,但python解释器如何区分它们还是会通过错误进行区分

2 个答案:

答案 0 :(得分:9)

所有参数都相同,delyieldreturn的关键字,并且(list[1])的值为list[1]。因此del(list[1])del (list[1])是相同的。对于基本情况,由于您没有(),因此需要强制使用多余的空间,因此del list[1]

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

答案 1 :(得分:0)

关键字不是强制性的(例如ifdel),但可以根据需要添加一些内容。

这是完全一样的