← Назад к вопросам

Как перевернуть список?

1.3 Junior🔥 61 комментариев
#Python и программирование

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Как перевернуть список

Перевернуть список — одна из базовых операций в программировании и анализе данных. Существует несколько подходов, каждый из которых имеет свои особенности и применение в реальной работе Data Analyst.

Основные способы в Python

1. Использование метода reverse()

Самый простой и читаемый способ:

numbers = [1, 2, 3, 4, 5]
numbers.reverse()  # изменяет исходный список
print(numbers)  # [5, 4, 3, 2, 1]

Этот метод изменяет список на месте (in-place), что делает его эффективным по памяти. Временная сложность O(n).

2. Слайсинг с шагом -1

Московский и элегантный способ:

numbers = [1, 2, 3, 4, 5]
reversed_list = numbers[::-1]
print(reversed_list)  # [5, 4, 3, 2, 1]

Этот подход не изменяет исходный список, а создает новый. Использование в работе Data Analyst часто предпочтительнее, чтобы сохранить исходные данные для трассировки ошибок.

3. Функция reversed()

numbers = [1, 2, 3, 4, 5]
reversed_list = list(reversed(numbers))
print(reversed_list)  # [5, 4, 3, 2, 1]

Возвращает итератор, что полезно при работе с большими наборами данных — экономит память на начальном этапе.

Работа с DataFrames в pandas

Для Data Analyst чаще приходится работать с данными в виде таблиц:

import pandas as pd

df = pd.DataFrame({
    "id": [1, 2, 3, 4, 5],
    "value": [10, 20, 30, 40, 50]
})

# Развернуть строки
reversed_df = df.iloc[::-1]

# Развернуть столбцы
reversed_cols = df[df.columns[::-1]]

SQL подход

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

SELECT * FROM users
ORDER BY id DESC;

Ошибка, которую часто делают: путают DESC с реверсом всей таблицы. DESC сортирует по одной колонке, для полного разворота строк нужен ROW_NUMBER().

Практические рекомендации для работы Data Analyst

  • [::-1] — когда нужна новая переменная (не трогаете исходные данные)
  • .reverse() — когда уверены, что трансформация финальная
  • reversed() — при работе с итераторами и потоками больших данных
  • ORDER BY DESC — в SQL запросах для отсортированного вывода

Сложность операций

МетодВременная сложностьПространственная сложностьИзменяет исходный список
.reverse()O(n)O(1)Да
[::-1]O(n)O(n)Нет
reversed()O(1)O(1)Нет

Для Data Analyst рекомендуется привыкнуть к слайсингу [::-1], так как в аналитике постоянно работаете с исходными данными и их сохранением для воспроизводимости результатов.

Как перевернуть список? | PrepBro