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

Что, если в оригинальной строке содержится несколько включений строки-

разделителя подряд? В этом случае в качестве элемента списка вы получите пустую

строку:

>>> splitme = 'a/b//c/d///e'

>>> splitme.split('/')

['a', 'b', '', 'c', 'd', '', '', 'e']

Если бы вы использовали разделитель //, состоящий из двух символов, то полу-

чили бы следующий результат:

>>> splitme = 'a/b//c/d///e'

>>> splitme.split('//')

>>>

['a/b', 'c/d', '/e']

Получение элемента с помощью

конструкции [смещение]

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

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

>>> marxes[0]

'Groucho'

>>> marxes[1]

'Chico'

>>> marxes[2]

'Harpo'

Опять же, как и в случае со строками, отрицательные индексы отсчитываются

с конца строки:

>>> marxes[-1]

'Harpo'

>>> marxes[-2]

Списки

73

'Chico'

>>> marxes[-3]

'Groucho'

>>>

Смещение должно быть корректным значением для списка — оно представляет собой по-

зицию, на которой располагается присвоенное ранее значение. Если вы укажете позицию,

которая находится перед списком или после него, будет сгенерировано исключение (ошиб-

ка). Вот что случится, если мы попробуем получить шестого брата Маркс (Marxes) (смещение

равно 5, если считать от нуля) или же пятого перед списком:

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

>>> marxes[5]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: list index out of range

>>> marxes[-5]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: list index out of range

Списки списков

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

показано далее: