<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

Данный курс научит Вас программировать на языке Python, который крайне желательно знать любому, кто хоть иногда имеет дело с компьютерами. Курс состоит из 6 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

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

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

Строки и списки в Python состоят из элементов, занимающих свои нумерованные позиции в иерархии. К любому элементу, можно обратиться по его порядковому номеру - индексу. Отсчет начинается с нуля и ведется слева направо.

Индекс строки в Python

Строка представляет собой упорядоченный набор символов. Это значит, что каждый символ в строке занимает свое место - индекс. Например, у строки 'string', символ 's' имеет индекс 0 и далее по порядку:

  • s - 0
  • t - 1
  • r - 2
  • i - 3
  • n - 4
  • g - 5

Первый по счету символ в строке всегда будет иметь индекс 0. Таким образом, обратившись по индексу к элементу, мы можем узнать его значение. В чем и состоит смысл индексов. У пробела, так же есть индекс.

Так мы получим всю строку целиком:

get_str = 'это строка'
print(get_str)
это строка

А здесь, обратившись по индексу 5, получаем его значение - символ 't'.

get_s = 'это строка'
print(get_s[5])
t

При обращении к несуществующему индексу, программа выведет ошибку.

get_s = 'это строка'
print(get_s[10])
IndexError: string index out of range

Отрицательный индекс

Мы знаем точно, что у первого символа строки всегда будет индекс 0. А как насчет последнего символа? Ведь длина строки не всегда заранее известна. Для закрепления постоянного индекса для последнего символа, Python вводит понятие отрицательного индекса и предлагает вести отсчет наоборот, справа налево.

P  y  t  h  o  n
-6 -5 -4 -3 -2 -1

get_last = 'Python'
print(get_last[-1])
n

Срез строки в Python

Иногда требуется получить из строки не один символ, а сразу несколько по некоторой закономерности - первые 2, каждый 3-ий или 4 последних. Для этого существуют срезы. Мы выборочно срезаем нужные символы и обращаемся по срезу. Надо отметить, что физически срезанные символы, остаются на своих местах. Сама строка никоим образом не меняется, мы работаем со срезанными копиями.

Возьмем первые три символа у строки 'срезы Python'. В параметрах передадим два индекса - начало и конец среза. При срезе первый индекс входит включительно, а второй индекс не входит в выборку.

slice = 'срезы Python'
print(slice[0:3])
сре #символ 'з' не попал в выборку

Если не указаны начало или конец среза, то по умолчанию берётся первый или последний элемент коллекции.

slice = 'срезы Python'
print(slice[6:])
Python #с индекса 6 и до конца

slice = 'срезы Python'
print(slice[:5])
срезы #с начала строки до 5-го индекса включительно

slice = 'срезы Python'
print(slice[:])
срезы Python #выводит строку целиком

Третьим параметром у срезов, может передаваться шаг.

slice = 'срезы Python'
print(slice[::2])
сеыPto #выводит символы через один

Индекс списка в Python

Список - это упорядоченная коллекция нумерованных элементов, где первый элемент начинается с нулевой позиции. Когда мы обратимся к 4-ому элементу, то получим 12.

a = [2, 3, 5, 9, 12, 16]
print(a[4])
12

Правила для индексов у списка, похожие для индексов у строк:

  • обращение к несуществующему элементу, выведет ошибку
  • первый индекс равен 0, а последний индекс -1

Заменить элемент в списке

Существует принципиальная разница - элементы в списках в отличие от элементов в строках можно заменять, удалять или добавлять. Мы обращаемся по индексу в 3-му элементу в списке d и присваиваем индексу новое значение. В результате произошла замена - 7 поменялась на 10.

d = [1, 3, 5, 7, 8]
d[3] = 10
print(d)
[1, 3, 5, 10, 8]

Удалить элемент из списка

Элемент со значением 15 под индексом 2, вылетел из списка.

f = [11, 13, 15, 17]
del f[2]
print(f)
[11, 13, 17]

Срез списка в Python

Со срезами у списков дело обстоит точно так же, как и у строк. Делаем выборку со 2-го индекса по 4-ый, не включая сам 4-ый индекс.

b = [21, 32, 54, 90, 22, 46]
print(b[2:4])
[54, 90]

Вывод четных элементов списка

Выведем все четные элементы списка, используя срезы. Первым параметром передаем 1-ый индекс, во втором параметре пишем двоеточие (по умолчанию выведется последний элемент списка) и третьим параметром указываем шаг для выводимых элементов.

c = [21, 22, 23, 24, 25, 26, 27]
print(c[1::2])
[22, 24, 26]

Итоги

Ранее мы научились создавать строку, узнали, какие у строк есть методы. Сегодня вы научились по индексам и срезам находить значения. Но на этом, познания о строках не заканчиваются и все самое интересное, вас ждет впереди.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.