Python Copy List: Methods and Examples
В Python есть несколько способов копирования списка (list). Рассмотрим их подробнее:
1. Срез списка
Самый простой способ копирования списка в Python - использовать срез. Он создает новый объект, который является полной копией оригинального списка. Пример:
python
original_list = [1, 2, 3, 4]
copied_list = original_list[:]
2. Использование функции copy()
В Python 3 появилась встроенная функция copy(), которая копирует все элементы списка (в том числе и вложенные) в новый список. Пример:
python
original_list = [1, 2, [3, 4]]
copied_list = original_list.copy()
3. Использование функции list()
Функция list() также может использоваться для копирования списка. Она создает новый список, который является копией оригинального списка. Пример:
python
original_list = [1, 2, 3, 4]
copied_list = list(original_list)
4. Использование модуля copy
Модуль copy содержит функцию deepcopy(), которая может использоваться для копирования и вложенных списков. Она создает полную копию оригинального списка и всех его элементов. Пример:
python
import copy
original_list = [1, 2, [3, 4]]
copied_list = copy.deepcopy(original_list)
Рассмотрим примеры каждого из этих методов:
python
# срез списка
original_list = [1, 2, 3, 4]
copied_list = original_list[:]
# модифицируем оригинальный список
original_list.append(5)
# распечатаем оба списка
print(original_list) # [1, 2, 3, 4, 5]
print(copied_list) # [1, 2, 3, 4]
# функция copy()
original_list = [1, 2, [3, 4]]
copied_list = original_list.copy()
# модифицируем оригинальный список
original_list[2].append(5)
# распечатаем оба списка
print(original_list) # [1, 2, [3, 4, 5]]
print(copied_list) # [1, 2, [3, 4, 5]]
# функция list()
original_list = [1, 2, 3, 4]
copied_list = list(original_list)
# модифицируем оригинальный список
original_list.append(5)
# распечатаем оба списка
print(original_list) # [1, 2, 3, 4, 5]
print(copied_list) # [1, 2, 3, 4]
# функция deepcopy()
import copy
original_list = [1, 2, [3, 4]]
copied_list = copy.deepcopy(original_list)
# модифицируем оригинальный список
original_list[2].append(5)
# распечатаем оба списка
print(original_list) # [1, 2, [3, 4, 5]]
print(copied_list) # [1, 2, [3, 4]]
Таким образом, в Python существует несколько способов копирования списка, и каждый из них имеет свои особенности. В зависимости от ситуации, можно выбирать то решение, которое наиболее подходит для текущей задачи.