【发布时间】:2021-04-10 18:35:21
【问题描述】:
给定表达式:
>>> l = [1,2,3]
>>> l[10:20] = [4,5]
>>> l
[1, 2, 3, 4, 5]
为什么 Python 不唠叨那些要删除的不存在的项目? l.remove(55) 确实会引发 ValueError。
【问题讨论】:
-
你的问题不是很清楚。您的代码正在向列表中添加元素,但您要求 l.remove
-
@ltaljuk:是的,我假设切片分配是一种删除+插入元素。 l[0:2] = [4,5] 会删除 1,2。
-
Python 优雅地处理切片索引,因此
"Hello World"[6:15]不会引发错误,而只会评估为"World"。 docs.python.org/3.0/tutorial/introduction.html :“退化的切片索引被优雅地处理:一个太大的索引被字符串大小替换,一个小于下限的上限返回一个空字符串。”
标签: python error-handling