Рубрики
Без рубрики

Slice Python () – простое руководство с видео

Встроенный ломтик () Python встроенный () Возвращает новый объект среза, который вы можете использовать для нарезания последовательностей, таких как списки, строки или кортежи. Подробнее о списках в нашем полном уроке о нарезке Python. Пример 1: Нарежьте ломтик с аргументом STOP Один из лучших способов учиться на примере! Вот несколько примеров того, как … Python Slice () – простой гид с видео Подробнее »

Автор оригинала: Chris.

Встроенный Python ломтик () Функция Возвращает новый объект среза, который вы можете использовать для нарезания последовательностей, таких как списки, строки или кортежи.

Подробнее о списках в нашем полном уроке о нарезке Python.

Пример 1: Ломтик с аргументом остановки

Один из лучших способов учиться на примере! Вот несколько примеров того, как использовать ломтик () Встроенная функция Отказ

Сначала давайте создадим список из 20 элементов, используя Диапазон () Функция:

>>> lst =list(range(20))
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Список состоит из всех элементов от 0 до 19 (включая). Теперь вы можете получить доступ к первым десять элементам этого Список Создавая новый объект среза с остановкой индекса 10 и пропустите вновь созданный кусочек в Схема индексации Использование квадратной нотации кронштейна Список [ломтик] Отказ

>>> s = slice(10)
>>> lst[s]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Пример 2: Срез с начала и остановка аргументов

Вы также можете привести аргумент начать начать с любой другой позиции в последовательности, чтобы быть нарезанным:

>>> lst =list(range(20))
>>> s = slice(5, 10)
>>> lst[s]
[5, 6, 7, 8, 9]

Пример 3: Расширенный кусочек с началом, остановкой и шагом аргументов

Самый продвинутый путь называется Расширенные нарезки , где вы определяете индекс запуска, индекс остановки и размер шага:

>>> lst =list(range(20))
>>> s = slice(2, 10, 2)
>>> lst[s]
[2, 4, 6, 8]

Нарезка видео

Syntax Slice ()

Вы можете использовать ломтик () Способ до трех аргументов:

Syntax: There are three ways of using the constructor:

# 1. Create new slice that goes from start index 0 (default) to stop using default step size 1. 
slice(stop) 

# 2. Create new slice that goes from start index to stop using default step size 1. 
slice(start, stop) 

 # 3. Create new slice that goes from start to stop using step as step size. 
slice(start, stop, step)

Какова цель среза () нажав на нарезку Python?

Python также позволяет более лаконичным способом нарезки последовательностей: нажавливание по умолчанию. Давайте быстро пересматривайте это:

Нарезка это концепция, чтобы вырезать подстроку из данной строки. Используйте нотацию нарезки S [Старт: Стоп: Шаг] Для доступа к каждому шаг -ный элемент, начиная с индекса Начать (включая) и заканчивая индекс Стоп (Исключенный). Все три аргумента являются необязательными, поэтому вы можете пропустить их для использования значений по умолчанию ( Start = 0 , Stop = Len (lst) , Step = 1 ). Например, выражение S [2: 4] из струны «Привет» выкрой ломтик «Я» и выражение S [: 3: 2] выкрой ломтик 'HL' Отказ

Вы можете либо создать объект среза, явно используя ломтик () Или вы создаете это неявно, используя нотацию среза. Оба варианта семантически идентичны:

>>> customers = ['Alice', 'Bob', 'Carl', 'Dave', 'Elena', 'Frank']
>>> customers[1:5:2]
['Bob', 'Dave']
>>> customers[slice(1, 5, 2)]
['Bob', 'Dave']

Есть только одно значение: если вы используете ломтик () Явно создать кусочек объекта, вы можете повторно использовать его для дальнейших операций нарезки.

Оценка производительности: нарезка против ломтика ()

Это имеет некоторые преимущества производительности, например, при использовании одинаковой операции нарезки в разных списках в цикле:

import time

lst = [list(range(10000)),
       list(range(20000)),
       list(range(30000))]


# Method 1: Slicing Notation
start = time.time()
for l in lst:
    print('Size of slice: ', len(l[5:-5:4]))
print(time.time() - start)

# Method 2: slice() Object
start = time.time()
s = slice(5, -5, 4)
for l in lst:
    print('Size of slice: ', len(l[s]))
print(time.time() - start)

Оба метода имеют одинаковый выход:

Size of slice:  2498
Size of slice:  4998
Size of slice:  7498
0.03080606460571289
Size of slice:  2498
Size of slice:  4998
Size of slice:  7498
0.015621423721313477

Однако разность производительности в этом примере значительна.

  • Способ 1 занимает 0,03 секунды для завершения.
  • Способ 2 занимает 0,015 секунды для завершения.

Использование функции ломтик () Для создания объекта среза один раз заранее приводит к снижению производительности выполнения 50% по сравнению с использованием стандартного нарезка. Причина в том, что стандартное нарезка внутренне воссоздает тот же объект среза в каждой итерации, которая неэффективна.

Упражнение интерактивной оболочки: понимание ломтик ()

Рассмотрим следующий интерактивный код:

Упражнение : Угадай вывод перед запуском кода.

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Резюме

Встроенный Python ломтик () Функция Возвращает новый объект среза, который вы можете использовать для нарезания последовательностей, таких как Списки , Строки или кортежи Отказ

  • Ломтик (остановка) : Создайте новый ломтик, который идет от начала индекса 0 (по умолчанию), чтобы прекратить использование шага по умолчанию 1.
  • Ломтик (начать, остановить) : Создайте новый ломтик, который идет от начала индекса, чтобы остановить использование шага по умолчанию 1.
  • Ломтик (запуск, остановка, шаг) : Создайте новый ломтик, который идет от начала, чтобы остановить использование шага в качестве размера шага.

Я надеюсь, что вам понравилось статью! Чтобы улучшить свое образование Python, вы можете присоединиться к популярной академии по электронной почте Free Finxter:

Хотите увеличить свои навыки Python в веселой и легкой потребности? Рассмотрим следующие ресурсы и стать магистральным кодером!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.