[::-1] в Python с примерами

⚡ Умное резюме

[::-1] в Python Это мощное выражение для нарезки, позволяющее инвертировать любой тип последовательности. LessВ учебнике рассматриваются основы индексации, параметры срезов, разница между a[-1] и a[::-1], обращение списков и приводятся примеры решения задач.

  • 🔁 Reverse Ломтик: [::-1] использует пустой старт, пустой стоп, шаг -1.
  • 📍 Индексация: Положительные значения начинаются с нуля; отрицательные отсчитываются с конца.
  • 🆚 [-1] против [::-1]: [-1] возвращает последний элемент; [::-1] возвращает всю последовательность в обратном порядке.
  • 📋 Списки и строки: Работает с любыми итерируемыми объектами, включая списки, строки, кортежи и байты.
  • Быстро и идиоматично: Реализовано на языке C, работает намного быстрее, чем Python петли.
  • 🤖 Вспомогательные фрагменты кода на основе ИИ: Инструменты искусственного интеллекта объясняют параметры срезов и преобразуют циклы в срезы.

Python Ломтик Reverse

Что такое [::-1] в Python?

Python имеет много разных синтаксисов и применений, когда дело доходит до использования 1. Его можно представить как [-1], или его также можно описать как [::-1].

Квадратные скобки в приведенных выше обозначениях обычно указывают более одного элемента в списке. При использовании квадратных скобок в списке указываются либо несколько элементов, либо один элемент.

Всякий раз, когда программист определяет [::-1], это предполагает, что программа должна пройти от начала до конца в заданном списке. Вы можете выполнять индексирование в Python, что помогает разрезать итерируемую последовательность, такую ​​как список или строка.

Какой тип у [::-1] в Python?

Есть два способа представить 1 в Python, как описано ниже: –

  • Его можно представить в виде простой квадратной скобки без двоеточия и другого метода с синтаксисом двойного двоеточия.
  • Итерируемую последовательность, такую ​​как список или строка, можно проанализировать до уровня элемента с помощью скобок [].
  • В скобках [] необходимо указать разные индексы.

Ниже приведен синтаксис списка, как показано ниже: –

Синтаксис: –

SEQUENCE [START: STOP: STEP]

Приведенный выше синтаксис является общим представлением. Синтаксис квадратных скобок без двоеточия представлен следующим образом:

Синтаксис: –

SEQUENCE [-1]

Синтаксис квадратных скобок с двумя двоеточиями представлен следующим образом:

Синтаксис: –

SEQUENCE[::-1]

Объяснение: -

  • Параметр start представляет начальный индексный номер.
  • Параметр stop представляет собой конечный или последний номер индекса.
  • Шаг параметра — это необязательный параметр, который обеспечивает приращение для выбора. В синтаксисе счетчик шагов инициализируется как -1.
  • Последовательность может быть строкой, списком или словарем в приведенном выше синтаксисе.

Разница между a[-1] и a[::-1] в Python

[-1] используется для отрицательных индексов и помогает выбирать элементы в обратном порядке в заданном списке. Это означает начало списка с конца обратного порядка. Здесь [-1] означает первый элемент с последней позиции. Ниже приведен пример, объясняющий использование A[-1]

Пример: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The last element in the list is", b [-1])

Выход:

The list is [7, 4, 5, 6]
The last element in the list is 6

A[::-1] и A[-1] выглядят одинаково с точки зрения выполнения, но различаются с точки зрения синтаксиса. Первый синтаксис имеет три параметра, тогда как второй синтаксис имеет только один параметр.

Первые два параметра, присутствующие в A[::-1], представляют начало и конец списка. Если параметры start и stop опущены, возвращаются все элементы в списке.

Этот последний параметр показывает вывод в обратном порядке. Этот параметр является необязательным.

Ниже приведен пример, объясняющий использование A[::-1]

Пример: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reversed list as determined is", b [::-1])

Выход:

The list is [7, 4, 5, 6]
The reversed list as determined is [6, 5, 4, 7]

Объяснение:

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

Разница, указанная выше, заключается в следующем: PythonПравила индексирования.

Как выполнить индексацию в Python?

Чтобы получить доступ к элементу в итерируемом списке Python, необходимо выполнить индексацию в списке или использовать индекс, примененный к позиции элемента, присутствующего в списке.

Python выполняет индексацию списков с отсчетом от нуля. В случае индексации с нулевой отсчетом первому элементу списка присваивается позиция 0.

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

Пример: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Выход:

The list is [7, 4, 5, 6]
The reverse ordered list as determined is [6, 5, 4, 7]
The second found item in the list is 4
The first or beginning item in the list is 7

Объяснение:

Как видно из приведенного выше кода, для доступа к первому элементу списка в качестве индекса внутри квадрата типа списка был применен 0. Аналогично, 1 применялась в качестве индекса внутри квадрата типа списка для доступа ко второму элементу списка. Индексирование списка также может применяться к словарям, строкам и кортежам.

Приведем пример индексации тип строки в Python.

Пример:

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Выход:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is U
The first or beginning item in the list is G

Объяснение:

Как видно выше, вывод разделяет первый и второй элементы строки «GURU99». Строка должна быть инициализирована с использованием двойных кавычек. Python также позволяет нам выполнять отрицательную индексацию итерируемых списков, строк или словарей.

Предоставляя отрицательный индекс, можно получить доступ как к последнему, так и к предпоследнему элементу списка. Давайте возьмем пример отрицательной индексации строки, как показано ниже.

Пример: -

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [-2])
print (" The first or beginning item in the list is", b [-1])

Выход:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is 9
The first or beginning item in the list is 9

Индексирование возвращает один элемент; нарезка возвращает диапазон.

Роль нарезки Python

Проще говоря, ломтик означает разрезать что-то. Это позволяет нарезать список в Python.

Вот насколько важна нарезка в Python:

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

Нарезка может быть достигнута в двух основных формах.

  • Первая форма предназначена для предоставления параметров индекса начала и остановки последовательности. При этом последовательность вернет все возможные элементы между началом последовательности и остановкой [конец -1] последовательности.
  • Второй метод заключается в предоставлении параметров индекса начала и остановки последовательности вместе с шагом. Шаг позволяет вернуть определенные или выбранные элементы в диапазоне элементов между началом и остановкой.

Ниже приведен синтаксис для первой формы нарезки: –

Синтаксис:

SEQUENCE [START: STOP]

Ниже приведен синтаксис второй формы нарезки: –

Синтаксис:

SEQUENCE [START: STOP: STEP]

Давайте возьмем пример первой формы нарезки, как показано ниже.

Пример

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:3]
print (" The substring in the list is", Substring)

Выход:

The list is GURU99
The substring in the list is GUR

Давайте возьмем пример второй формы нарезки, как показано ниже.

Пример

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:9:2]
print (" The substring in the list is", Substring)

Выход:

The list is GURU99
The substring in the list is GR9

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

Давайте рассмотрим пример доступа к последним трем элементам последовательности, как показано ниже.

Пример

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[-5:-1]
print (" The substring in the list is", Substring)

Выход:

The list is GURU99
The substring in the list is URU9

Как отменить Python список с использованием [::-1] в Python?

Отрицательные срезы и отрицательная индексация могут применяться для изменения местами строки или списка в Python. Давайте возьмем строку с именем «GURU99», чтобы проиллюстрировать пример.

Пример

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[::-1]
print (" The reverse of string GURU99 is", Substring)

Выход:

The list is GURU99
The substring in the list is 99URUG

Объяснение:

Здесь код извлекает все строковые элементы из последней позиции. Он начинается с -1 и извлекает все элементы или элементы из последней позиции. Приведенная выше строка кода сообщает Python отступить от последнего элемента и перейти к первому элементу, что приводит к обратному списку или строке.

Пример [::-1] в Python

Для этого можно использовать нарезку или индексирование.tracвычитать меньший список из более обширного. Аналогичным образом, его можно использовать для...tracподстрока ta из более длинной строки.

Рассмотрим пример использования числа 1 в Python, например:tracВыбрать меньший список из большего:

Пример

Python Code:

b = [1, 2, 3, 4, 5, 6, 7]
slist = b[1::]
print("the smaller list from larger list is:",slist)

Выход:

the smaller list from the larger list is: [2, 3, 4, 5, 6, 7]

Объяснение:

В приведенном выше коде, оставив первый индекс, python extracФункция `ts` просматривает все элементы, начиная со второй позиции в списке, и создает меньший список. Это происходит потому, что Python использует нулевую индексацию при применении индексов к позициям элементов в списке.

Часто задаваемые вопросы (FAQ)

Это срез без начала, без конца и с шагом -1. Он возвращает новую последовательность, в которой все элементы расположены в обратном порядке.

Искусственный интеллект-помощники, такие как Copilot и ChatGPT, объясняют параметры начала, остановки и шага, а также преобразуют многословные циклы for в лаконичные выражения для фрагментов кода.

Да. Инструменты искусственного интеллекта рекомендуют использовать list(reversed(seq)), когда читаемость важнее краткости, и объясняют компромиссы по времени и памяти для каждого варианта.

a[-1] возвращает только последний элемент. a[::-1] возвращает всю последовательность в обратном порядке.

Да. Он работает с любыми типами последовательностей, включая списки, строки, кортежи, байты и массивы байтов. Возвращаемая последовательность сохраняет свой исходный тип.

Нарезка (slicing) обычно быстрее, потому что выполняется в C и возвращает полный объект. Метод reversed() возвращает ленивый итератор, который экономичен с точки зрения использования памяти, но работает медленнее.

Нет. Срез возвращает новую последовательность. Исходный список, строка или кортеж остаются неизменными. Используйте list.reverse() для обратного преобразования списков на месте.

Да. NumPy поддерживает тот же синтаксис срезов, возвращая обратное представление, а не копию. Используйте .copy(), если вам нужен независимый массив.

Подведем итог этой публикации следующим образом: