Давайте поговорим, что же такое индексация в Python, зачем она нужна, какие типы данных имеют индексы, и как с этим работать!
На самом деле, индексация – это очень просто, чем-то напоминает номера домов на обычной улице, где есть дом под номером 1, 2, 3 и так далее… Так вот, индексация в Python – это способ обращаться к отдельным элементам в пределах позиции, получать эти элементы и взаимодействовать с ними, т.е. выполнять операции, которые вам необходимы.
Из выше сказанного, давайте сравним номер дома на улице и индекс элемента: как и дом имеет свой точный номер, так и любой элемент в итерируемом объект имеет свой точный номер! Зная номер дома мы можем, допустим, зайти в него, и зная индекс элемента – мы можем получить этот элемент. Единственная разница – это то, что номерация домов на улице начинается с 1 (с единицы), а номерация индексов – с 0 (с нуля), из-за особенности хранения в памяти компьютера.
Подведем краткий итог: что бы получить элемент итерируемого объекта необходимо обратиться к этому объекту по имени и указать индекс.
Мы имеем список fruits, что такое списки мы разбирали здесь, так вот, в этом списке есть 5-ть элементов – [“apple”, “grape”, “orange”, “guava”, “banana”], индекс первого – 0, индекс последнего – 4, и обращаясь по индексам мы получим эти первый и последний элементы:
fruits = ["apple", "grape", "orange", "guava", "banana"] # Выведем в консоль первый элемент, т.е. apple print("Indedx of Apple: " + fruits[0] # Выведем в консоль 5й эелемнт, т.е. banana print("Indedx of Banana: " + fruits[4])
А что бы узнать индекс какого-то элемента, мы можем использовать метод index(), передав в него значение того элемента, индекс которого мы хотим узнать:
fruits = ["apple", "grape", "orange", "guava", "banana"] #Выведем в консоль первый элемент, т.е. apple print("Индекс первого элемента: " + fruits.index("apple")) # Выведем в консоль 5й эелемнт, т.е. banana print("Индекс 5-го элемента: " + fruits.index("banana"))
Как вы уже заметили, оператор индекса в Python – это квадратные скобки – [], в которые мы пишем индекс элемента.
Точно так же, мы можем получать не только элементы списка, но и элементы строки, что такое строки в Python и методы работы со строками читайте здесь:
string = "Hello, Python!" print(string[0]) # Получаем первый символ строки - Н print(string[4]) # Получаем пятый символ строки - о print(string[7]) # Получаем восьмой символ строки - Р
Не забываем, индексация в Python строк начинается тоже с “0”, именно по-этому мы обращаемся к строке по имени переменно, т.е. string, указываем индекс [0] – получаем первый элемнт, т.е. букву Н.
Отрицательная индексация в Python
В Python возможен также и доступ по отрицательному индексу, при этом отсчет идет от конца строки, т.е. последний элемент имеет индекс, равный -1, предпоследний — индекс, равный -2 и т.д.
my_lst = [2, 4, 1, 6, 12, 1, 3, 17, 1, 25, 16] print(my_lst[-1]) # 16 print(my_lst[-2]) # 25