Курс 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"
- Обход словаря в Python
- Оператор «моржа» (Walrus Operator)
- Обрезка изображения с Pillow
- Вызов функций по строке в Python.
- Протокол управления контекстом
- Операции с датами в Python
- Создание виртуальной среды
- Изменяемые и неизменяемые объекты
- Вычисление натурального логарифма в NumPy
- Работа с collections в Python.
- Создание новых списков в Python
- Получение атрибутов и методов класса
- Экспорт внешнего файла с помощью writefile
- Очистка списка от False, None, 0, «»
- Проектирование Singleton с метаклассом
- List Comprehension Tutorial
- Создание новых списков через list comprehensions
- Создание списка дат
- Возврат нескольких значений
- Список методов и атрибутов
- Управление виртуальными средами в Python
- Просмотр внешних файлов в %pycat
- Генераторы в Python
- Парсинг статей с Newspaper3k
- Декораторы в Python
- Измерение времени выполнения кода
- Преобразование чисел в слова
- Декораторы в Python
- Передача аргументов через **arguments
- Поиск самого частого элемента
- Оператор += в Python
- Метод rsub для пользовательских чисел
- Получение текущей даты и времени
- Вычисление натуральных логарифмов в NumPy
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Python: Splat-оператор и splatty-splat
- Функция sleep() в Python
- Глубокое копирование объектов
- Модуль subprocess: запуск внешних команд
- Кортеж в Python: создание и использование
- Проверка списка: any() и all()
- Основы работы с os
- Разделение функций на этапы
- Извлечение аудио из видео















