Нарезка списков в Python

Я новичок в Python, может кто-то, пожалуйста, скажите мне разницу между выходом этих двух блоков кода:

1.

>> example = [1, 32, 1, 2, 34] >> example[4:0] = [122] >> example [1, 32, 1, 2, 122, 34] 

2.

 >> example = [1, 32, 1, 2, 34] >> example[4:1] = [122] >> example [1, 32, 1, 2, 122, 34] 

Ваша нарезка дает пустой список в индексе 4 потому что верхняя граница меньше нижней границы:

 >>> example[4:0] [] >>> example[4:1] [] 

Этот пустой список заменяется вашим списком [122] . Эффект такой же, как и при выполнении:

  >>> example.insert(4, 122) 

Просто помните, что пустые списки и списки с одним элементом ничего особенного, хотя эффекты, которые они имеют, когда вы их используете, в начале не так очевидны. Учебник Python содержит более подробную информацию.

Здесь нет ничего плохого. Результат тот же, поскольку единственная строка, которая отличается от двух программных snipets, – это

 example[4:0] = [122] 

а также

 example[4:1] = [122] 

Они оба добавят и присваивают значение 122 (я принимаю список значения размера один == здесь) к элементу после этого в индексе 4. Так как число в верхней границе среза меньше четырех в обоих случаях, они не имеют никакого эффекта.