Курс 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. ROT13 Шифр Цезаря в Python
  2. Условное добавление элементов в список
  3. Метод bool() в Python
  4. Кортеж в Python: создание, доступ, изменение
  5. Форматирование строк в Python
  6. Итераторы в Python
  7. Замыкания в Python
  8. Объединение итераторов
  9. Переименование файлов в Python
  10. Повторение элементов в Python
  11. Просмотр внешних файлов в %pycat
  12. Оператор «моржа» (Walrus Operator)
  13. Измерение времени выполнения кода
  14. Защита данных в Python
  15. Многострочные комментарии в Python
  16. Работа с Path в Python
  17. Слияние словарей в Python 3.9
  18. Проблемы с именами переменных
  19. Работа со строками в Python
  20. Проверка на палиндром
  21. Объединение списков в Python
  22. Подписка на @SelectelNews
  23. Множественное присваивание в Python
  24. lru_cache оптимизация функций
  25. Метод join() для объединения элементов в строку.
  26. Преобразование букв в нижний регистр
  27. Упрощенный вывод данных в Python
  28. Извлечение данных из JSON
  29. Аннотации типов в Python
  30. Список методов и атрибутов
  31. Атрибуты класса и экземпляра
  32. Многострочные строки в Python
  33. Создание новых функций через partial
  34. Добавление элементов в список
  35. Метод get() для словарей
  36. Работа с комплексными числами
  37. Импорт и использование модулей в Python
  38. Логирование с Logzero
  39. Работа с NumPy
  40. Декораторы в Python
  41. Lambda-функция в Python: использование с map() и sum()
  42. Работа со словарями с defaultdict из collections
  43. Профилирование кода на Python
  44. Отладка в командной строке

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