2017-02-21 30 views
-9

Почему в python при разрезании строки предположим, что s='hello' запускаем команду s[1:], а результат - «ello». Первый алфавит игнорируется. Но s[:3] дает результат 'hel'. 3-й алфавит следует игнорировать?В python s [: 1] первый проигнорирован, но s [: 3] в этом включен третий алфавит? s - строка

+9

Возможный дубликат [Объяснение нотации фрагмента Python] (http://stackoverflow.com/questions/509211/explain-pythons-slice-notation) – turbulencetoo

+3

Когда вы укажете 'a [i: j]', это всегда ** 'i' включены ** и **' j' исключены **. –

ответ

1

Это нотация для нарезки. Первый коммерческий индекс: включая, а последний индекс: исключенный.

Когда вы делаете [1:], первое письмо не игнорируется. Первая буква имеет индекс 0, поэтому вы буквально сказали, что обозначение включает в себя все: от второй буквы до конца. Когда вы делаете [:3], включаются индексы 0, 1 и 2 (соответствующие h, e, l). Четвертая буква (индекс 3) не включена.