Найти в Дзене

Индексы и срезы

Ох, братцы… Вот сижу я у себя за компьютером, кружечка чая под рукой (ну, может, не только чая — не без греха, уж простите старика 😌), и думаю: сколько лет я уже с Питоном на "ты", а до сих пор каждый его изгиб — как новая песня. Сегодня у нас с вами разговор пойдёт про такую штуку, как индексы и срезы. Вещь, на первый взгляд, простенькая, но, как говорится, «в тихом омуте черти водятся» 🐍
Знаешь, как в детстве — стоишь в очереди в школьную столовку, и если не занял место — всё, оставайся голодным. Так и тут. Индекс — это твой порядковый номер в списке. Начинается с нуля, не с единицы! Вот где Питон сразу коварен, будто тесть в плохом настроении 😄 У тебя есть список — допустим, любимые языки программирования. Первый будет под индексом 0, второй — 1, и так далее. Хочешь что-то достать — бери по индексу. Но не забудь: если полезешь за рамки, Python тебе устроит выговор: "IndexError, дорогой, ты куда полез-то?" Так что, как говорится, "семь раз отмерь — один индекс проверь" ✂️ Ох, во
Оглавление

Ох, братцы… Вот сижу я у себя за компьютером, кружечка чая под рукой (ну, может, не только чая — не без греха, уж простите старика 😌), и думаю: сколько лет я уже с Питоном на "ты", а до сих пор каждый его изгиб — как новая песня. Сегодня у нас с вами разговор пойдёт про такую штуку, как индексы и срезы. Вещь, на первый взгляд, простенькая, но, как говорится, «в тихом омуте черти водятся» 🐍

Индекс — не болтик, но без него всё рассыпается

Знаешь, как в детстве — стоишь в очереди в школьную столовку, и если не занял место — всё, оставайся голодным. Так и тут. Индекс — это твой порядковый номер в списке. Начинается с нуля, не с единицы! Вот где Питон сразу коварен, будто тесть в плохом настроении 😄

У тебя есть список — допустим, любимые языки программирования. Первый будет под индексом 0, второй — 1, и так далее. Хочешь что-то достать — бери по индексу. Но не забудь: если полезешь за рамки, Python тебе устроит выговор: "IndexError, дорогой, ты куда полез-то?"

Так что, как говорится, "семь раз отмерь — один индекс проверь" ✂️

А вот тебе и фокус — отрицательные индексы

Ох, вот это мне всегда нравилось. Как будто Python говорит: "Не хочешь с начала — бери с конца".

Минус один — это последний элемент. Минус два — предпоследний. Прямо как вечер пятницы: сначала настроение, потом голова, потом память... 😅

Такой вот себе список наоборот. Работает, между прочим, на ура. Пользуйся, не стесняйся.

Цикл и список — пара, что не разлей вода

А как же без циклов, дружище?

Берёшь список — ну, например, любимые блюда (у меня там селёдочка, пельмешки, борщец...), запускаешь цикл for, и оно тебе по одному всё вываливает, как гардеробщик в театре.

Тут главное — не забыть про порядок. Если сам пишешь цикл while, следи за счётчиком, чтоб не завис где-то между первым и последним. Как в жизни: вовремя останавливаться — тоже искусство.

Срезы — вот где настоящая магия 🪄

Срез — это как ножик у повара: отрезал, что надо, оставил остальное.

Хочешь только начало списка? Укажи [:3] — и получишь первые три элемента.

Хочешь всё, кроме первого? Пиши [1:].

А всё, кроме последнего — [:-1].

Удобно — просто сказка. Помню, раньше такие вещи мы ручками делали, а теперь — как по маслу.

И шаг можно задать. Например, [::2] — и у тебя каждый второй элемент. Хитро, да?

А [::-1] вообще переворачивает список с ног на голову — будто зеркальце приложил.

Как говаривал один старый админ: "Кто срезы постиг, тот багов не боится" 😄

Немного примеров — из жизни, как я люблю

Вот тебе задачка — допустим, есть список студентов. Хочешь убрать первого (тот, что опоздал) — [1:].

Хочешь убрать последнего (тот, что спит на парах) — [:-1].

А если надо оставить только чётных — ну тут [::2] тебе в помощь.

Иногда такие приёмы выручают — как палочка-выручалочка. Особенно, когда данных много, а времени — как обычно, ни шиша.

И напоследок, дружок...

Знаешь, в списках, индексах и срезах есть что-то... домашнее. Они как семья: хочешь — позови по имени, хочешь — сними часть, а хочешь — переверни и посмотри с другого конца.

Не зря ведь в народе говорят: "Что посеешь — то и пожнёшь. А как отрежешь — так и поешь." 😂

Работай с Питоном не только умом, но и с душой. Списки — они как жизнь: длинные, с неожиданностями, но срезать иногда надо. Главное — делай это по-честному и с чувством.

Всё, братцы, ушёл я кодить дальше, пока муза не убежала.

А вы не забывайте:
код — это тоже ремесло, только вместо топора — клавиатурка, а вместо гвоздя — хорошая логика.

Обнял. Подмигнул. Побежал! 🐍👨‍💻✨

-2