slice()
Функция slice() создаёт объект-срез, который описывает диапазон
индексов и шаг. Такой объект можно сохранить в переменную и
переиспользовать для индексации разных последовательностей — это
удобно, когда срез задаётся параметрами программы.
Сигнатура
slice(stop)
slice(start, stop[, step])
Параметры:
start— начальный индекс (по умолчаниюNone).stop— индекс, до которого идёт срез, не включая.step— шаг (по умолчаниюNone, что эквивалентно 1).
Возвращает: объект slice.
Примеры
Простой срез — то же, что [1:5]:
s = slice(1, 5)
data = ["a", "b", "c", "d", "e", "f"]
print(data[s])
['b', 'c', 'd', 'e']
Срез с шагом и обратный порядок:
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
even = slice(None, None, 2)
reverse = slice(None, None, -1)
print(nums[even])
print(nums[reverse])
[0, 2, 4, 6, 8]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Переиспользование среза для разных строк:
first_three = slice(0, 3)
for word in ["алгоритм", "программа", "функция"]:
print(word[first_three])
алг
про
фун
Атрибуты start, stop, step:
s = slice(2, 10, 3)
print(s.start, s.stop, s.step)
2 10 3
Срез строки с динамической длиной:
def head(seq, n):
return seq[slice(n)]
print(head("Алаш Электроникс", 4))
print(head([10, 20, 30, 40, 50], 2))
Алаш
[10, 20]
См. также
Примечание
Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.