Курс Python → Работа с изменяемыми списками

При работе с изменяемыми и неизменяемыми коллекциями в Python важно понимать разницу в их поведении. Списки являются изменяемыми коллекциями, что означает, что их элементы можно изменять после создания списка. Однако, при работе с изменяемыми объектами нужно быть осторожным, чтобы не изменить список непреднамеренно.

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


numbers = [1, 2, 3, 4]
new_numbers = numbers
new_numbers[0] = 5
print(numbers)  # Выведет [5, 2, 3, 4]

В приведенном примере мы видим, что изменение значения в новом списке также приводит к изменению значения в исходном списке. Это происходит потому, что оба списка ссылаются на один и тот же изменяемый объект в памяти.

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

Пример создания копии списка:


numbers = [1, 2, 3, 4]
new_numbers = numbers.copy()
new_numbers[0] = 5
print(numbers)  # Выведет [1, 2, 3, 4]
Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Использование функции enumerate()
  2. Сравнение def и lambda-функций
  3. Поиск самого частого элемента
  4. Работа с JSON данными в Python
  5. Нахождение самого длинного слова в списке с помощью max
  6. Работа с CSV файлами в Python
  7. Получение текущей даты и времени
  8. Бесконечная проверка в Python
  9. Работа с файлами в Python
  10. Блок else в циклах.
  11. Возврат нескольких значений из функции
  12. Создание объекта timedelta
  13. Настройка Cron
  14. Метод radd для пользовательских чисел
  15. Сортировка и обратный порядок
  16. Настройка вывода NumPy
  17. Список переменных в Python
  18. Настройка логгера Logzero
  19. Декоратор для группы пользователей в Django
  20. Работа с датой и временем в Python
  21. Список методов и атрибутов
  22. Форматирование данных с pprint
  23. Строки в Python: апострофы и кавычки
  24. Использование модуля math
  25. Python defaultdict добавление ключа
  26. Логирование с Logzero: ротация файла
  27. Метод __ilshift__ для битового сдвига влево
  28. Генераторы в Python
  29. Извлечение статей с newspaper3k
  30. Разделение строки с помощью re.split()
  31. Функции all() и any() в Python
  32. Изменение элемента списка
  33. PEP-401: оператор
  34. Логирование с Logzero
  35. Капитализация строк
  36. Python: отличительная особенность — отступы
  37. Создание генераторов в Python
  38. Логирование с Logzero
  39. Управление ресурсами в Python
  40. Хранение данных с помощью dataclasses
  41. Игра «Угадывание чисел»
  42. Использование *args
  43. Многострочные строки в Python
  44. Очистка входных данных
  45. Pretty-printing JSON в Python
  46. Оператор continue в Python
  47. Оптимизация поиска в словарях

Marketello читают маркетологи из крутых компаний