Курс 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. Значения по умолчанию в Python
  2. Генераторы в Python
  3. Поиск индекса элемента в списке
  4. Функция reversed() в Python
  5. Хэш-функции в Python
  6. Лямбда-функции в Python
  7. Анализ текста на русском языке с помощью Pymystem3
  8. Оператор is в Python
  9. Структуры данных в Python
  10. Подсчет частоты элементов с Counter
  11. Проверка условий в Python
  12. Комментарии в Python.
  13. discard() — удаление элемента из множества
  14. Поиск индекса элемента
  15. Бинарный поиск
  16. Множества и frozenset
  17. Python: изменяемые и неизменяемые коллекции
  18. Отображение HTML кода в Python
  19. Форматирование строк с f-строками
  20. Сравнение строк в Python
  21. Метод difference_update() — разность множеств
  22. Поиск самого длинного слова в списке с использованием max()
  23. Метод округления чисел
  24. kwargs в Python
  25. Работа с географическими данными в Python
  26. Работа со строками в Python
  27. Отслеживание прогресса с tqdm
  28. Преобразование в float
  29. Показ всплывающих окон Tkinter
  30. Метаклассы в Python
  31. Генератор бросков кубиков
  32. Генератор данных в Keras
  33. Операторы += в Python
  34. Извлечение статей с newspaper3k
  35. Метод matmul для умножения матриц
  36. Изменяемые и неизменяемые объекты
  37. Python Enumerate
  38. F-строки в Python 3.8
  39. Расширение информации об ошибке в Python
  40. Хешируемые ключи в Python
  41. Повторение элементов в Python
  42. Класс-оболочка для словарей
  43. Декораторы в Python
  44. Python и Монти Пайтон
  45. Оформление кода по PEP 8

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