在python中使用list.remove方法的主要危险是什么?

在python中使用list.remove方法的主要危险是什么?,python,Python,在我的一个家庭作业中,我有一个问题,我有点困惑如何回答它。问题是list.remove的危险是什么 这些选择包括: a) 可能会删除错误列表中的元素 b) 可能导致列表之外的内存问题 c) 如果要删除的值不存在,程序将崩溃 d) 如果列表不存在,程序也会崩溃 e) 其他 我假设答案是other,因为如果列表不存在,程序将崩溃,如果要删除的值不存在,程序也将崩溃。但我不想在这个问题上失去分数,所以我想确认“其他”是正确的答案,而不是c或d。如果它是c而不是d,或者相反,为什么 谢谢 我认为答案应该

在我的一个家庭作业中,我有一个问题,我有点困惑如何回答它。问题是list.remove的危险是什么

这些选择包括:

a) 可能会删除错误列表中的元素

b) 可能导致列表之外的内存问题

c) 如果要删除的值不存在,程序将崩溃

d) 如果列表不存在,程序也会崩溃

e) 其他

我假设答案是other,因为如果列表不存在,程序将崩溃,如果要删除的值不存在,程序也将崩溃。但我不想在这个问题上失去分数,所以我想确认“其他”是正确的答案,而不是c或d。如果它是c而不是d,或者相反,为什么


谢谢

我认为答案应该是c),因为这是使用list.remove()的程序崩溃的唯一实际原因

选项d)没有意义。为什么要尝试从不存在的列表中删除项目?如果不在程序中定义变量(希望如此),您实际上不会引用它,尽管这样的错误可能会使程序崩溃


但是,当然,对于homeworks,你永远无法确定……

如果
列表不存在,你就不能调用
列表。完全删除
列表上的
方法。您正在调用非
列表的
remove
。我会注意到,选项
D
表示“程序也会崩溃”,这意味着它包括选项
C
,但这是一个措辞非常糟糕的问题(除此之外,如果
尝试
/
,程序在这两种情况下都不会崩溃,除非
捕获到结果异常).如果这是整个问题,那就太模糊了。我想他们的意思是你选择
c
作为答案。这些选项都不正确<代码>列表。删除
可能引发异常,但这与程序崩溃不同。(更新:我错过了选择“E”),这是我认为正确答案。“主要危险”需要定义。堆栈溢出不是“请帮助我弄明白我的老师/教授的意思”的正确地点,特别是如果有任何可能性,意味着什么可能是基于意见的东西。