Да, действительно, как гласит справочное руководство по языку (
http://docs.python.org/ref/assignment.html), при присваивании срезу действуют особенные правила:
If the target is a slicing: The primary expression in the reference is evaluated. It should yield a mutable sequence object (such as a list). The assigned object should be a sequence object of the same type. Next, the lower and upper bound expressions are evaluated, insofar they are present; defaults are zero and the sequence's length. The bounds should evaluate to (small) integers. If either bound is negative, the sequence's length is added to it. The resulting bounds are clipped to lie between zero and the sequence's length, inclusive. Finally, the sequence object is asked to replace the slice with the items of the assigned sequence. The length of the slice may be different from the length of the assigned sequence, thus changing the length of the target sequence, if the object allows it.
Меня поначалу смутила левая часть присваивания - lst - дескать, как тут задействовано дублирование списка. А тут, как оказывается, никакого дублирования списка конструкция lst (в данном контексте присваивания) не вызывает.
Насчет ‘list literal’ позволю с вами не согласиться. Насколько я понимаю, термин “литерал” присутствует в каждом языке программирования. Литерал - это нотация для представления в языке программирования значения определенного типа. То есть, к примеру, все нижеперечисленное:
5 (число)
“abc” (строка)
(список)
lambda x: x*x (функция)
представляет значения различных типов, и следовательно, каждая из нотаций для представления значений является литералом. Для последнего из перечисленных, кстати, тоже есть устоявшееся название - функциональный литерал. Литералы обусловлены наличием в языке специфичных нотаций для выражения значений. К примеру:
list(1,2,3) - определение списка с помощью обычной нотации вызова подпрограмм (это - не списковый литерал, нотация не специфична)
- определение списка с помощью специфичной нотации для определения списков
Так что вопрос о правильности перевода остается открытым ;)