В глубь языка Python


Списки - часть 2


Срез

>>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li[1:3]

1

['b', 'mpilgrim'] >>> li[1:-1]

2

['b', 'mpilgrim', 'z'] >>> li[0:3]

3

['a', 'b', 'mpilgrim']

Указав через двоеточие два индекса, вы можете получить подмножество элементов списка, называемое “срезом”. Получаемое значение является новым списком, содержащим все элементы исходного списка в том же порядке, начиная с первого индекса (здесь li[1]) до, но не включая, второго индекса (здесь li[3]).
В операции среза также можно использовать отрицательные идексы. Если это поможет, считайте первый индекс соответствующим первому элементу, который вам нужен, и второй — первому элементу, который не нужен. Получаемое значение — все, что между ними находится.
Нумерация элементов начинается с нуля, так что li[0:3]

дает первые три элемента исходного списка.

Пример 1.17. Сокращения в записи среза

>>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li[:3]

1

['a', 'b', 'mpilgrim'] >>> li[3:]

2

['z', 'example'] >>> li[:]

3

['a', 'b', 'mpilgrim', 'z', 'example']

Если первый индекс среза равен нулю, то его можно опустить. Аналогично можно опустить второй индекс, если он равен длине списка. То есть li[:3] дает такой же результат, как и li[0:3] в предыдущем примере.
Обратите внимание на симметрию. Для данного списка из пяти элементов li[:3] дает первые три элемента и li[3:]

— последние два. В самом деле, li[:n] всегда дает первые n элементов, а li[n:] — все остальное.

Если опущены оба индекса, будут включены все элемента исходного списка. Но это не тот же список, это новый список с теми же элементами. Таким образом, li[:] позволяет создать копию списка.

Пример 1.18. Добавление элементов в список

>>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li.append("new")

1

>>> li ['a', 'b', 'mpilgrim', 'z', 'example', 'new'] >>> li.insert(2, "new")

2

>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new'] >>> li.extend(["two", "elements"])

3




Начало  Назад  Вперед



Книжный магазин