【发布时间】:2012-04-27 00:53:07
【问题描述】:
我有以下 python 代码:
a = [0,1,2,3,4,5]
del(a[2:7])
这不应该给出“IndexError”吗?如果没有那为什么?
【问题讨论】:
-
“退化的切片索引被优雅地处理:一个太大的索引被字符串大小替换,一个小于下限的上限返回一个空字符串。”来自docs.python.org/tutorial/introduction.html
标签: python
我有以下 python 代码:
a = [0,1,2,3,4,5]
del(a[2:7])
这不应该给出“IndexError”吗?如果没有那为什么?
【问题讨论】:
标签: python
这会删除从 2 到 7 之前的列表切片。列表切片不会引发索引错误,而是如果它们超出列表末尾,它们会返回列表的整个剩余部分。
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [5:20]
[5, 6, 7, 8, 9]
【讨论】: