无法删除函数C

2024-05-13 01:03:11 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题只是出于一般的好奇心。我刚刚注意到,在我目前的项目工作(令人惊讶的是,我没有遇到今天之前)。

获取此代码:

List = ["hi","stack","over","flow","how","you","doing"]
del List(len(List)-1)

错误:

SyntaxError: can't delete function call

我不明白为什么不允许通过引用对函数的调用来删除列表的索引?我是闭嘴接受你不能做还是我做错了什么?

我很抱歉,如果有一个简单的答案,但要么谷歌越来越没有帮助,或这是如此明显,我需要帮助。


Tags: 项目代码youlenstack错误hiflow
3条回答

当您应该为列表编制索引时,您正在调用函数List()List[]

在Python中,圆括号()用于调用函数,而方括号[]用于索引列表和其他序列。

尝试:

del List[len(List) - 1]

或者更好的方法是,使用Python允许负索引这一事实,负索引从末尾开始计算:

del List[-1]

此外,为了清楚起见,您可能希望使列表的名称与内置的list类型名称不太接近。

您打算删除列表的最后一个元素,而不是以某种方式调用List作为函数:

del List[len(List)-1]

Python的del语句必须采用特定的形式,如删除变量、list[element]或object.property。这些表单可以嵌套得很深,但必须遵循。它与赋值语句并行——如果试图赋值给函数调用,则会出现类似的语法错误。

当然,在这种情况下,你真正想要的是

del List[-1]

这意味着列表的最后一个元素,而且更像Python。

你是被允许的。但是,您使用了错误的语法。正确的语法是:

del List[-1]

注意“len(List)部分是无用的。

相关问题 更多 >