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

Читать в полной версии →

Профессиональные разработчики всегда стремятся к тому, чтобы сделать любой сложный код читаемым и лаконичным. Один из инструментов оптимизации кода в Python — срезы. Разберемся, что это такое и как с ними работать.

Что такое Python срез: понятие, синтаксис, примеры

Срезы (slices) в Python используются для работы с последовательностями: строками, списками и кортежами. Инструмент позволяет извлекать символ или фрагмент итерируемых объектов без вмешательства в исходное состояние кода. Срез создает новый объект с выбранными элементами исходного объекта.

Синтаксис Python среза:

iterable_object[start:stop:step]

Он устанавливает границы среза и его шаг:

colors = ['white', 'black', 'purple', 'yellow']

print(colors[1:4:2])

Вывод: ['black', 'yellow']

Границы Python среза могут быть отрицательными. В этом случае срез будет выглядеть и работать следующим образом:

colors = ['yellow', 'blue', 'lilac', 'pink']

print(colors[-4:-2])

Вывод:['yellow', 'blue']

Чтобы срез захватил элемент, указанный последним, необходимо использовать встроенный метод len(list) для указания длины последовательности.

Попробуйте курс: Python: Списки

Виды Python срезов

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

text = "hello"

print(text[1:4])

Вывод: "ell"

Элементами списка могут быть другие списки, строки или числа.

numbers = [9, 10, 11, 12, 13, 14, 15, 16, 17]

result_3 = numbers[3:]

print(result_3)

Вывод: [12, 13, 14, 15, 16, 17]

В кортежи могут входить числа, строки, списки и другие кортежи.

my_tuple = ('orange', 'banana', 'cherry', 'apple', 'melon')

new_slice = my_tuple[1:4]

print(new_slice)

Вывод: ('banana', 'cherry', 'apple')

Читайте также: 19 полезных библиотек для Python

Функции Python срезов

elements = ['e', 'f', 'g', 'h']

print(elements[-2:])

Вывод: ['g', 'h']

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print(x[::2])

Вывод: [0, 2, 4, 6, 8, 10, 12, 14]

или

x[2:12:2]

Вывод: [2, 4, 6, 8, 10]

s = "Hello, Python!"

reversed_s = s[::-1]

print(reversed_s)

Вывод: "!nohtyP ,olleH"

a = list("Berlin")

b = a[:]

a[-1] = "N"

print(a)

Вывод: ['B', 'e', 'r', 'l', 'i', 'N']

print(b)

Вывод: ['B', 'e', 'r', 'l', 'i', 'n']

x = [2, 3, 8, 11, 14, 17, 20]

x[1:4] = [0, 0, 0]

print(x)

Вывод: [2, 0, 0, 0, 14, 17, 20]

x[2:5] = ['four', 'five', 'six']

print(x)

Вывод: [2, 0, 'four', 'five', 'six',17, 20]

x[3:6] = 'six'

print(x)

Вывод: [2, 0, four, 's', 'i', 'x', 20]

Читайте также: Как я изучаю Python на Хекслете

a = [2, 4, 9, 10]

a[2:4] = [0, 0, 0]

print(a)

Вывод: [2, 0, 0, 0, 9]

del a[:-3]

print(a)

Вывод: [0, 0, 9]

x = [2, 5, 8, 11, 14, 17, 20]

x[1:6:2] = [0, 0, 0]

print(x)

Вывод: [0, 5, 0, 11, 0, 17, 20]

x[0::3] = ['one', 'two', 'three']

print(x)

Вывод: ['one', 5, 0, 'two', 0, 17, 'three']

x[::-3] = ['one', 'two', 'three']

print(x)

Вывод: ['three', 5, 0, 'two', 0, 17, 'one']

x = [2, 5, 8, 11, 14, 17, 20]

del x[1:6:2]

print(x)

Вывод: [2, 8, 14, 20]

list = ["Zero", "One", "Two", "Three", "Four", "Five", "Six"]

last_index = len(list) - 1

two_last = list[2:last_index]

print(two_last)

Вывод: ["Two", "Three", "Four", "Five", "Six"]

Также полезно: Эффективная разработка на Python с PyCharm: советы и трюки

Часто используемые Python срезы

Мы собрали для вас наиболее популярные срезы для оптимизации вашего кода:

Python — один из трех самых популярных языков программирования, он подходит для решения разнообразных задач на всех популярных платформах. В рамках курса «Python-разработчик» детально изучают основы программирования на Python, его базовые элементы и возможности, включая срезы и другие полезные функции.