Курс 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 3.12: переиспользование кавычек
- Модуль pprint
- Встроенные функции Python
- Шаблоны и наследование в Flask
- Работа с itertools
- Создание списков в Python
- Сортировка и разворот списка
- Генераторы в Python
- Условные выражения в Python
- Создание тестовых данных с Faker
- Разделение строки с помощью re.split()
- Присоединение элементов коллекции
- Освоение Python
- Метод is_absolute() для PurePath
- Метод rxor для операции побитового исключающего «или»
- Запрос DELETE с библиотекой requests
- Присвоение и ссылки
- Обмен данными с asyncio.Queue
- Контроль точности вывода чисел
- Объединение словарей в Python 3.5+
- Лимиты на ресурсы Python
- Переопределение метода __lshift__
- Создание и использование модулей в Python
- Переопределение метода xor в Python
- Работа с множествами в Python
- Работа с часовыми поясами в Python.
- Получение значений из словарей
- Нахождение максимального значения и его индекса в списке
- Комментарии в Python
- Mad Libs Generator
- Преобразование в float
- Работа с географическими данными.
- PrettyTable: создание таблицы
- Работа с NumPy.linalg
- Операция += для списков
- Создание обратного итератора
- Метод rsub для пользовательских чисел
- Объединение, распаковка и деструктуризация
- Генератор бросков кубиков
- Использование подчеркивания в REPL
- Оператор объединения словарей
- Генераторные функции в Python
- Метод Enumerate() для списков
- Оптимизация методов в Python 3.7
- Удаление элементов из списка в Python.
- Использование defaultdict в Python















