Курс 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
- Сравнение строк в Python
- Метод get() для словарей
- Нан-рефлексивность в Python
- Pillow: работа с изображениями
- Замена текста с re.sub()
- Вычисление логарифмов в Python
- Работа с OpenCV
- Работа с многоуровневыми словарями в Python
- Хеширование паролей с солью
- Нахождение самого длинного слова в списке с помощью max
- Именованные срезы в Python
- Строки в Python: апострофы и кавычки
- Создание коллекций из выражения-генератора
- Функции в Python
- Лямбда-функции для min/max
- Методы classmethod и staticmethod
- Принцип одной функции
- Подсчет количества элементов в списке
- Оператор «is not» в Python
- Работа с timedelta
- Замена символов в строке
- Цикл while в Python
- Безопасный доступ к значениям словаря
- Работа с аргументами командной строки в Python
- Defaultdict в Python
- Функция reversed() в Python
- lru_cache оптимизация функций
- Создание namedtuple из словаря
- Создание и использование модулей в Python
- Работа со списками
- Работа со строками в Python
- Сортировка элементов в Python
- Работа с итераторами через срезы
- Преобразование регистра символов
- Создание класса очереди
- Локальные переменные.
- Извлечение данных из JSON
- Модуль Operator в Python
- Defaultdict в Python
- Python: возвращение нескольких значений
- Функция zip() в Python
- Цепные операции в Python
- Инициализация структур данных
- Основные функции и модули Python
- Срезы в Numpy
- Python: изменяемые и неизменяемые коллекции















