Фрагмент вернет значение 'specialized'. Этот синтаксис весьма полезен, потому что при работе со списками часто требуется обратиться к последним элементам, не зная точное количество элементов в списке. Синтаксис также распространяется на другие отрицательные значения индексов. Индекс –2 возвращает второй элемент от конца списка, индекс –3 — третий элемент от конца и т.д.

<p>Использование отдельных элементов из списка</p>

Отдельные значения из списка используются так же, как и любые другие переменные. Например, вы можете воспользоваться конкатенацией для построения сообщения, содержащего значение из списка.

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

bicycles = ['trek', 'cannondale', 'redline', 'specialized']

(1) message = "My first bicycle was a " + bicycles[0].title() + "."

print(message)

В точке (1) программа строит сообщение, содержащее значение из bicycles[0], и сохраняет его в переменной message. Так создается простое предложение с упоминанием первого велосипеда из списка:

My first bicycle was a Trek.

Упражнения

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

3-1. Имена: сохраните имена нескольких своих друзей в списке с именем names. Выведите имя каждого друга, обратившись к каждому элементу списка (по одному за раз).

3-2. Сообщения: начните со списка, использованного в упражнении 3-1, но вместо вывода имени каждого человека выведите сообщение. Основной текст всех сообщений должен быть одинаковым, но каждое сообщение должно включать имя адресата.

3-3. Собственный список: выберите свой любимый вид транспорта (например, мотоциклы или машины) и создайте список с примерами. Используйте свой список для вывода утверждений об элементах типа: «Я хотел бы купить мотоцикл Honda».

<p>Изменение, добавление и удаление элементов</p>

Обычно вы будете создавать динамические списки; это означает, что во время выполнения программы в созданном вами списке будут добавляться и удаляться элементы. Например, вы можете создать игру, в которой игрок должен стрелять по кораблям космических захватчиков. Исходный набор кораблей сохраняется в списке; каждый раз, когда вы сбиваете корабль, он удаляется из списка. Каждый раз, когда на экране появляется новый враг, он включается в список. Длина списка кораблей будет уменьшаться и увеличиваться по ходу игры.

<p>Изменение элементов в списке</p>

Синтаксис изменения элемента напоминает синтаксис обращения к элементу списка. Чтобы изменить элемент, укажите имя списка и индекс изменяемого элемента в квадратных скобках; далее задайте новое значение, которое должно быть присвоено элементу.

Допустим, имеется список мотоциклов, и первым элементом списка хранится строка 'honda'. Как изменить значение первого элемента?

motorcycles.py

(1) motorcycles = ['honda', 'yamaha', 'suzuki']

print(motorcycles)

(2)motorcycles[0] = 'ducati'

print(motorcycles)

В точке (1) определяется исходный список, в котором первый элемент содержит строку 'honda'. В точке (2) значение первого элемента заменяется строкой 'ducati'. Из вывода видно, что первый элемент действительно изменился, а остальные элементы списка сохранили прежние значения:

['honda', 'yamaha', 'suzuki']

['ducati', 'yamaha', 'suzuki']

Изменить можно значение любого элемента в списке, не только ­первого.

<p>Добавление элементов в список</p>

Новые элементы могут добавляться в списки по разным причинам — например, для появления на экране новых космических кораблей, включения новых данных в визуализацию или добавления новых зарегистрированных пользователей на построенный вами сайт. Python предоставляет несколько способов добавления новых данных в существующие списки.

<p>Присоединение элементов в конец списка</p>

Простейший способ добавления новых элементов в список — присоединение элемента в конец списка. Используя список из предыдущего примера, добавим новый элемент 'ducati':

motorcycles = ['honda', 'yamaha', 'suzuki']

print(motorcycles)

(1) motorcycles.append('ducati')

print(motorcycles)

Метод append() в точке (1) присоединяет строку 'ducati' в конец списка, другие элементы в списке при этом остаются неизменными:

['honda', 'yamaha', 'suzuki']

['honda', 'yamaha', 'suzuki', 'ducati']

Метод append() упрощает динамическое построение списков. Например, вы можете начать с пустого списка и добавлять в него элементы серией команд append(). В следующем примере в пустой список добавляются элементы 'honda', 'yamaha' и 'suzuki':

motorcycles = []

motorcycles.append('honda')

motorcycles.append('yamaha')

motorcycles.append('suzuki')

print(motorcycles)

Полученный список выглядит точно так же, как и списки из предыдущих примеров:

['honda', 'yamaha', 'suzuki']

Перейти на страницу:

Все книги серии Библиотека программиста

Похожие книги