Сегментация последовательностей в Python

Установка Python 

Выбор текстового редактора 

Запуск программ Python в командной строке 

Числа и арифметические операторы Python 

Строки и функция print в Python 

Списки и кортежи в Python 

Сегментация последовательностей в Python 

Цикл for и функция range в Python 

Команда if и функция input в Python 

Словари в Python 

Множества в Python 

Цикл while в Python 

Функции в Python 

Классы в Python 

Файлы и исключения в Python 

Функции json. Сохранение данных Python 

Тестирование функций и классов на Python

Python массивы. Библиотека NumPy

В Python помимо обращения к отдельным элементам списка, можно работать с конкретным подмножеством элементов в списке или строке. Такие подмножества называются сегментами. Для создания сегмента требуется прописать индексы первого и последнего элемента, с которым вы хотите работать.

Содержание страницы:
1. Создание сегмента по начальному и конечному индексу
2. Создание сегмента только по конечному индексу
3. Создание сегмента только по начальному индексу
4. Копирование списка. Создание сегмента без индексов
5. Создание сегментация с шагом
6. Создание сегментации с обратным шагом
7. Сегментация строк
8. Изменение списка через сегменты

 

 

 

 

 

 

 

 

 

 

1. Создание сегмента по начальному и конечному индексу. 

Возьмем любой список и создадим сегмент, состоящий из элементов с индексом со 2 по 4. Для этого в квадратных скобках укажем начальный индекс и конечный, разделенный двоеточием. 

>>> cars = [ 'ford', 'opel', 'audi', 'land rover', 'bmw']
>>> print(cars[2:4])
['audi', 'land rover']

Операция сегментации копирует элементы со 2 по 4, исходный список не изменяется.

 

 

2. Создание сегмента только по конечному индексу. 

Если начальный индекс не указан, то Python предполагает, что значение индекса равно 0. В таком случае записи [ : 3 ] и [ 0 : 3 ] абсолютно идентичны.

>>> cars = [ 'ford', 'opel', 'audi', 'land rover', 'bmw']
>>> print(cars[:3])
['ford', 'opel', 'audi']
>>> print(cars[0:3])
['ford', 'opel', 'audi']

 

3. Создание сегмента только по начальному индексу. 

Если не указан конечный индекс, то Python определяет его равным длине последовательности. 

>>> cars = [ 'ford', 'opel', 'audi', 'land rover', 'bmw']
>>> print(cars[2:])
['audi', 'land rover', 'bmw']
>>> print(cars[2:len(cars)])
['audi', 'land rover', 'bmw']

 

4.  Копирование списка. Создание сегмента без индексов.  

Если не указан начальный и конечный индекс, то в этом случае происходит копирование списка. 

>>> cars = [ 'ford', 'opel', 'audi', 'land rover', 'bmw']
>>> favorite_cars = cars[:]
>>> print(favorite_cars)
['ford', 'opel', 'audi', 'land rover', 'bmw']

 

5. Создание сегментация с шагом. 

Для создания сегментации с шагом, после обозначения начального и конечного индекса устанавливается шаг.

>>> numbers = [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
>>> print(numbers[2 : 7 : 2])
[6, 10, 14]
>>> print(numbers[:: 2])
[2, 6, 10, 14, 18]

 

 

6. Создание сегментации с обратным шагом. 

Отрицательное значение шага используется для сегментации в обратном порядке. В следующем примере создается список в обратном порядке. 

>>> numbers = [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
>>> print(numbers[::-1])
[20, 18, 16, 14, 12, 10, 8, 6, 4, 2]

 

7. Сегментация строк. 

Создание сегментов в строках создается по аналогии с сознанием сегментов в списках. 

Пример создания сегмента по начальному и конечному индексу:

>>> a = 'Создание сегментов в строках создается по аналогии с созданием сегментов в списках. '
>>> print(a[15:40])
тов в строках создается п

Пример создания сегмента с шагом 4:
>>> print(a[::4])
Са мо о дсоаи деен па

Пример сегментации с отрицательным шагом:

>>> print(a[::-1])
 .хаксипс в вотнемгес меинадзос с ииголана оп ястеадзос хакортс в вотнемгес еинадзоС

 

 

8. Изменение списка через сегменты. 

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

>>> numbers = [ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
>>> numbers[2:5] = ['ford', 'bmw', 2354]
>>> print(numbers)
[2, 4, 'ford', 'bmw', 2354, 12, 14, 16, 18, 20]

 

Далее: Цикл for и функция range в Python

Назад: Списки и кортежи в Python