Форум сайта python.su
zainoupython.org. sequence operations
что подразумевается под “шагом” среза
The slice of s from i to j is defined as the sequence of items with index k such that i <= k < j. If i or j is greater than len(s), use len(s). If i is omitted or None, use 0. If j is omitted or None, use len(s). If i is greater than or equal to j, the slice is empty.
The slice of s from i to j with step k is defined as the sequence of items with index x = i + n*k such that 0 <= n < (j-i)/k. In other words, the indices are i, i+k, i+2*k, i+3*k and so on, stopping when j is reached (but never including j). If i or j is greater than len(s), use len(s). If i or j are omitted or None, they become “end” values (which end depends on the sign of k). Note, k cannot be zero. If k is None, it is treated like 1.
Отредактировано py.user.next (Март 16, 2015 02:14:33)
Офлайн
Нет, всё таки не понял.
s='madagaskar' s [1:7:2] 'aaa'
Отредактировано zainou (Март 16, 2015 17:10:58)
Офлайн
zainouВы с бейсиком знакомы?
Может есть раздел математики или информатики, которые я не читал и там про это всё написано?
Офлайн
Вам нужно больше поработать в консоли, попробовать разные варианты и помнить что есть два обязательных параметра (start:stop), где start – индекс начала среза включительно, stop – индекс конца среза исключительно (могут быть не указаны, тогда просто создастся копия объекта). И что есть третий дополнительный параметр step, который указывает шаг с которым будут копироваться (вырезаться) элементы объекта (шаг == 2, каждый второй элемент, шаг == -1 – в обратном порядке и т.д.)
Отредактировано TroSer (Март 16, 2015 23:02:29)
Офлайн
zainouТам надо оперировать индексами. У первого элемента индекс – ноль, у последнего – длина - 1. Срез создаётся один раз путём выбора элементов по индексам. После создания срез не меняется.
вместо сдвига срез выносит значение только элементов 1, 1+2, 1+2*2 и т.д. до 7 не включая последний?
Офлайн