Профессиональные разработчики всегда стремятся к тому, чтобы сделать любой сложный код читаемым и лаконичным. Один из инструментов оптимизации кода в 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: Списки
С его помощью удобно выделять ключевые фразы или разбивать тексты на слова.
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
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, его базовые элементы и возможности, включая срезы и другие полезные функции.