Чтобы скопировать элементы из одного списка в другой в Python, доступно несколько методов.
- 1. С помощью функции copy()
- 2. С помощью нарезки списка
- 3. С помощью конструктора list()
- 4. С помощью метода copy.copy()
- 5. С помощью метода copy.deepcopy()
- 6. С помощью оператора *
1. С помощью функции copy()
Метод copy() — это самый простой способ копирования элементов из одного списка в другой в Python. Он создает неглубокую копию списка.
Примечание. Этот метод копирует только сам список, а не объекты, на которые он ссылается. Если исходный список содержит объекты и один из объектов изменен, изменение будет отражено в обоих списках.
original_cities = ["New York", "Los Angeles", "Chicago"] itinerary_cities = original_cities.copy() print(itinerary_cities)
Выход:
['New York', 'Los Angeles', 'Chicago']
После реализации кода в редакторе Pycharm снимок экрана указан ниже.
2. С помощью нарезки списка
Нарезка списков в Python также может использоваться для копирования списков. Разрезая весь список, мы создаем новый список. Как и метод copy(), срез списка создает неглубокую копию.
presidents = ["Washington", "Lincoln", "Jefferson"] backup_presidents = presidents[:] print(backup_presidents)
Выход:
['Washington', 'Lincoln', 'Jefferson']
Ниже приведен скриншот после реализации кода в редакторе Pycharm.
3. С помощью конструктора list()
Другой способ копирования списка — использование встроенной функции list(), которая создает новый список на основе элементов существующего. Этот метод также создает неглубокую копию исходного списка.
fast_food_chains = ["McDonald's", "Burger King", "Taco Bell"] study_list = list(fast_food_chains) print(study_list)
Выход:
["McDonald's", 'Burger King', 'Taco Bell']
После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.
4. С помощью метода copy.copy()
В Python есть модуль копирования, который предоставляет функцию copy(). Этот метод особенно полезен при работе со сложными структурами данных. copy.copy() создает неглубокую копию списка.
import copy nba_teams = ["Lakers", "Bulls", "Celtics"] analysis_teams = copy.copy(nba_teams) print(analysis_teams)
Выход:
['Lakers', 'Bulls', 'Celtics']
После реализации кода в редакторе Pycharm снимок экрана указан ниже.
5. С помощью метода copy.deepcopy()
Метод deepcopy() из модуля копирования создает глубокую копию списка, то есть он также копирует внутренние объекты.
Изменения объектов в исходном списке не повлияют на скопированный список.
import copy states_cities = [["California", ["Los Angeles", "San Francisco"]], ["Texas", ["Houston", "Dallas"]]] copied_states_cities = copy.deepcopy(states_cities) print(copied_states_cities)
Выход:
[['California', ['Los Angeles', 'San Francisco']], ['Texas', ['Houston', 'Dallas']]]
Ниже приведен скриншот после реализации кода в редакторе Pycharm.
6. С помощью оператора *
Оператор распаковки * можно использовать для копирования списков. Этот метод аналогичен нарезке списка и полезен в тех случаях, когда нам нужно распаковать элементы списка.
Этот подход также создает неглубокую копию списка.
us_holidays = ["Independence Day", "Thanksgiving", "Christmas"] calendar_holidays = [*us_holidays] print(calendar_holidays)
Выход:
['Independence Day', 'Thanksgiving', 'Christmas']
После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.