Как использовать срезы в Python: простое руководство для новичков

Профессиональные разработчики всегда стремятся к тому, чтобы сделать любой сложный код читаемым и лаконичным. Один из инструментов оптимизации кода в Python — срезы. Разберемся, что это такое и как с ними работать.
Содержание
- Что такое Python срез: понятие, синтаксис, примеры
- Виды Python срезов
- Функции Python срезов
- Часто используемые Python срезы
Что такое Python срез: понятие, синтаксис, примеры
Срезы (slices) в Python используются для работы с последовательностями: строками, списками и кортежами. Инструмент позволяет извлекать символ или фрагмент итерируемых объектов без вмешательства в исходное состояние кода. Срез создает новый объект с выбранными элементами исходного объекта.
Синтаксис Python среза:
Он устанавливает границы среза и его шаг:
- start информирует о начале среза — элементе, начиная с которого алгоритм начинает выбирать символы или фрагмент последовательности. Python срез включает сам стартовый элемент, нумерация начинается с 0. Если показатель не указан, то отсчет начинается с 0.
- stop информирует об окончании среза — элементе, до которого инструмент выбирает символы или фрагмент последовательности, исключая его. Если показатель не задан, то конечным будет автоматически считаться последний элемент последовательности, включая его.
- step — шаг среза. Определяет интервал между элементами, которые механизм будет извлекать из последовательности.
Вывод: ['black', 'yellow']
Границы Python среза могут быть отрицательными. В этом случае срез будет выглядеть и работать следующим образом:
Вывод:['yellow', 'blue']
Чтобы срез захватил элемент, указанный последним, необходимо использовать встроенный метод len(list) для указания длины последовательности.
Попробуйте курс:
Виды Python срезов
- Срез строки.
С его помощью удобно выделять ключевые фразы или разбивать тексты на слова.
Вывод: "ell"
- Срез списка.
Элементами списка могут быть другие списки, строки или числа.
Вывод: [12, 13, 14, 15, 16, 17]
- Срез кортежа.
В кортежи могут входить числа, строки, списки и другие кортежи.
Вывод: ('banana', 'cherry', 'apple')
Читайте также:
[19 полезных библиотек](https://ru.hexlet.io/blog/posts/19-bibliotek-dlya-python?promo_name=blog&promo_position=body&promo_type=link &promo_start=021124) для Python
Функции Python срезов
- Получение части данных из последовательности, например последних N элементов списка.
Вывод: ['g', 'h']
- Выбор элементов последовательности с определенным интервалом.
Вывод: [0, 2, 4, 6, 8, 10, 12, 14]
или
Вывод: [2, 4, 6, 8, 10]
- Изменение порядка элементов, в том числе расположение элементов в обратном порядке с помощью шага -1.
Вывод: "!nohtyP ,olleH"
- Создание копии последовательности.
Вывод: ['B', 'e', 'r', 'l', 'i', 'N']
Вывод: ['B', 'e', 'r', 'l', 'i', 'n']
- Замена части последовательностей.
Вывод: [2, 0, 0, 0, 14, 17, 20]
Вывод: [2, 0, 'four', 'five', 'six',17, 20]
Вывод: [2, 0, four, 's', 'i', 'x', 20]
Читайте также:
[Как я изучаю Python](https://ru.hexlet.io/blog/posts/19-bibliotek-dlya-python?promo_name=blog&promo_position=body&promo_type=link &promo_start=021124) на Хекслете
- Добавление и удаление элементов в модифицируемых последовательностях.
Вывод: [2, 0, 0, 0, 9]
Вывод: [0, 0, 9]
- Замена части последовательности с определенным шагом.
Вывод: [0, 5, 0, 11, 0, 17, 20]
Вывод: ['one', 5, 0, 'two', 0, 17, 'three']
Вывод: ['three', 5, 0, 'two', 0, 17, 'one']
- Удаление и добавление элементов с определенным шагом.
Вывод: [2, 8, 14, 20]
- Определение количества элементов в срезе.
Вывод: ["Two", "Three", "Four", "Five", "Six"]
Также полезно:
[Эффективная разработка на Python с PyCharm](https://ru.hexlet.io/blog/posts/effektivnaya-razrabotka-na-python-s-pycharm-sovety-i-tryuki?promo_name=blog&promo_position=body&promo_type=link &promo_start=021124): советы и трюки
Часто используемые Python срезы
Мы собрали для вас наиболее популярные срезы для оптимизации вашего кода:
- [:] — копия последовательности.
- [1:] — все элементы за исключением первого.
- [:-1] — все элементы за исключением последнего.
- [::-1] — обратная последовательность.
- [1:-1] — все элементы за исключением последнего и первого.
- [1::2] — вывод нечетных элементов последовательности со второго.
- [::2] — вывод четных элементов последовательности с первого.
- [-2:0:-1] — обратный порядок всех элементов за исключением первого и последнего.
- [-2:0:-2] — обратный порядок каждого второго элемента за исключением первого и последнего.
Python — один из трех самых популярных языков программирования, он подходит для решения разнообразных задач на всех популярных платформах. В рамках курса [«Python-разработчик»](https://ru.hexlet.io/programs/python?promo_name=prof-python&promo_position=body&promo_type=link &promo_start=021124) детально изучают основы программирования на Python, его базовые элементы и возможности, включая срезы и другие полезные функции.
Валерия Белякова
10 месяцев назад