Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 54

>>> marxes.pop(1)

'Chico'

>>> marxes

['Groucho', 'Harpo']

Пришло время компьютерного жаргона! Не волнуйтесь, этого не будет на итоговом экзаме-

не. Если вы используете функцию append(), чтобы добавить новые элементы в конец списка,

и функцию pop(), чтобы удалить из конца этого же списка, вы реализуете структуру данных,

известную как LIFO (last in, first out — «последним пришел — первым ушел»). Такую струк-

туру чаще называют стеком. Вызов pop(0) создаст очередь FIFO (first in first out — «первым

пришел — первым ушел»). Эти структуры могут оказаться полезными, если вы хотите со-

бирать данные по мере их поступления и работать либо с самыми старыми (FIFO), либо

с самыми новыми (LIFO).

Определение смещения элемента по значению

с помощью функции index()

Если вы хотите узнать смещение элемента в списке по его значению, используйте

функцию index():

>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']

>>> marxes.index('Chico')

1

78

Глава 3. Наполнение Python: списки, кортежи, словари и множества

Проверка на наличие элемента в списке

с помощью оператора in

В Python наличие элемента в списке проверяется с помощью оператора in:

>>> marxes = ['Groucho', 'Chico', 'Harpo', 'Zeppo']

>>> 'Groucho' in marxes

True

>>> 'Bob' in marxes

False

Одно и то же значение может встретиться больше одного раза. До тех пор пока

оно находится в списке хотя бы в единственном экземпляре, оператор in будет

возвращать значение True:

>>> words = ['a', 'deer', 'a' 'female', 'deer']

>>> 'deer' in words

True

Если вы часто проверяете наличие элемента в списке и вас не волнует порядок элементов,

то для хранения и поиска уникальных значений гораздо лучше подойдет множество. О мно-

жествах мы поговорим чуть позже в этой главе.

Определяем количество включений значения

с помощью функции count()

Чтобы определить, сколько раз какое-либо значение встречается в списке, исполь-

зуйте функцию count():

>>> marxes = ['Groucho', 'Chico', 'Harpo']

>>> marxes.count('Harpo')

1

>>> marxes.count('Bob')

0

>>> snl_skit = ['cheeseburger', 'cheeseburger', 'cheeseburger']

>>> snl_skit.count('cheeseburger')

3