2014-11-09 3 views

ответ

1

квантование [start:stop:step] сделать так, Когда вы steping его от назад, то вы должны взять индекс из спины,

>>> l1 = [1,2,3,4,5,6,7,8,9] 
>>> l1[8:4:-2] 
[9, 7] 

Вы просите, чтобы начать с индекса 4 до индекса 8 за шагом -2, поэтому вы запрашиваете индекс 8 и 6 и избегаете индекса 4.

+0

@lbney Hasan, потому что вы запрашиваете от индекса '4' до' 8' по отрицательному счету, что вы делаете, задавая 'step = -2', начиная с для' 4', затем '4-2' , '2-2' ** (- 2 - степпинг) **, до индекса' 8th'. Теперь подумайте, как он достигнет 8-го индекса. –

+0

, если он начнется с 4-го индекса, тогда первые значения должны быть возвращены. 4 значения индекса равны 5, тогда он будет проверять 4-2 2-2 на 8-й. Почему результат [] –

+0

@lbney Hasan python проверяет сначала нарезку, которую вы применяете, полная инструкция будет анализироваться, и здесь синтаксический анализ ошибочен, поэтому он ведет пустой список. –