Найти - Пользователи
Полная версия: Понять учебный код
Начало » Центр помощи » Понять учебный код
1 2
py.user.next
zainou
что подразумевается под “шагом” среза
python.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.
zainou
Нет, всё таки не понял.
s='madagaskar'
s [1:7:2]
'aaa'
Получили ‘aaa’, хотя я предполагал получить ‘agaska’. Я думал, он просто сдвинет срез на два элемента вправо, но всё не так? Потому что, вместо сдвига срез выносит значение только элементов 1, 1+2, 1+2*2 и т.д. до 7 не включая последний?
Может есть раздел математики или информатики, которые я не читал и там про это всё написано?
FishHook
zainou
Может есть раздел математики или информатики, которые я не читал и там про это всё написано?
Вы с бейсиком знакомы?
Ба бейсике это примерно следующие
for i = 1 to 7 step 2
TroSer
Вам нужно больше поработать в консоли, попробовать разные варианты и помнить что есть два обязательных параметра (start:stop), где start – индекс начала среза включительно, stop – индекс конца среза исключительно (могут быть не указаны, тогда просто создастся копия объекта). И что есть третий дополнительный параметр step, который указывает шаг с которым будут копироваться (вырезаться) элементы объекта (шаг == 2, каждый второй элемент, шаг == -1 – в обратном порядке и т.д.)
py.user.next
zainou
вместо сдвига срез выносит значение только элементов 1, 1+2, 1+2*2 и т.д. до 7 не включая последний?
Там надо оперировать индексами. У первого элемента индекс – ноль, у последнего – длина - 1. Срез создаётся один раз путём выбора элементов по индексам. После создания срез не меняется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB