0
Я следующий код питона:Почему следующий код не дает «IndexError»?
a = [0,1,2,3,4,5]
del(a[2:7])
не должны это дать "IndexError"? Если нет, то почему?
Я следующий код питона:Почему следующий код не дает «IndexError»?
a = [0,1,2,3,4,5]
del(a[2:7])
не должны это дать "IndexError"? Если нет, то почему?
Это удаляет фрагмент списка от 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]
«Выраженные индексы среза обрабатываются изящно: слишком большой индекс заменяется размером строки, верхняя граница меньше нижней границы возвращает пустую строку». от http://docs.python.org/tutorial/introduction.html – Ord