Метод Python List copy().

Метод списку Copy(). створює нову копію списку.

приклад

Python3




# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)>

Вихід

['mango', 'apple', 'strawberry'] 

Що таке метод List Copy()?

Список Функція Copy(). в Python використовується для створення копії списку. Існує два основних способи створення копії списку Неглибока копія і Глибока копія. Нижче ми детально обговоримо метод list copy().

Функція list copy() використовується для створення копії списку, яку можна використовувати для роботи, і вона не впливатиме на значення у вихідному списку. Це дає свободу маніпулювати даними, не турбуючись про втрату даних.

Синтаксис методу List copy().

list.copy()

Параметри

  • Метод copy() не приймає параметрів.

Повернення: Повертає a мілка копія списку.

Примітка : дрібна копія означає, що будь-які зміни в новому списку не відображатимуться в оригінальному списку.

Як створити просту копію списку в Python

Копіювання та створення нового списку можна виконати за допомогою функції copy() у Python.

Python3




# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)>

Вихід

['Priya', 'Neha', 'Radha', 'Nami'] 

Більше прикладів методу List copy().

Давайте подивимося кілька прикладів списку копіювати() метод.

Приклад 1: проста копія списку

У цьому прикладі ми створюємо список Рядки Python і ми використовуємо копіювати() метод копіювання списку до іншої змінної.

Python3




lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)>

Вихід

Copied List: ['Geeks', 'for', 'Geeks'] 

Приклад 2: демонстрація роботи List copy()

Тут ми створимо a Список Python а потім створіть поверхневу копію за допомогою функції copy(). Потім ми додамо значення до скопійованого списку, щоб перевірити, чи копіювання списку за допомогою методу copy() впливає на оригінальний список.

Python3




# Initializing list> lis1> => [> 1> ,> 2> ,> 3> ,> 4> ]> # Using copy() to create a shallow copy> lis2> => lis1.copy()> # Printing new list> print> (> 'The new list created is : '> +> str> (lis2))> # Adding new element to new list> lis2.append(> 5> )> # Printing lists after adding new element> # No change in old list> print> ('The new> list> after adding new element :> '> +> str> (lis2))> print> ('The old> list> after adding new element to new> list> :> '> +> str> (lis1))>

Вихід

The new list created is : [1, 2, 3, 4] The new list after adding new element : [1, 2, 3, 4, 5] The old list after adding new element to new list : [1, 2, 3, 4] 

Примітка: Неглибока копія означає, що якщо ми змінюємо будь-який з елементів вкладеного списку, зміни відображаються в обох списках, оскільки вони вказують на те саме посилання.

Неглибоке копіювання та глибоке копіювання

А глибока копія є копією списку, де ми додаємо елемент у будь-який зі списків, лише цей список змінюється.

в копія списку () метод, зміни, внесені до скопійованого списку, не відображаються в оригінальному списку. Зміни, внесені до одного списку, не відображаються в інших списках, за винятком вкладених елементів (як список у списку).

Ми можемо використовувати copy.deepcopy() з модуля копіювання, щоб уникнути цієї проблеми.

  • Методи глибокого копіювання:
    • Використання copy.deepcopy()
  • Прийоми неглибокого копіювання:
    • Використання copy.copy()
    • Використання list.copy()
    • Використання нарізки

Щоб отримати глибше розуміння, зверніться до цієї статті Глибоке копіювання проти поверхневого копіювання .

Демонстрація прийомів дрібного та глибокого копіювання

Тут ми створимо список, а потім створимо поверхневу копію за допомогою оператор присвоєння , метод list copy() і метод copy.copy() модуля копіювання Python.

Ми також створюємо глибоку копію за допомогою deepcopy() у Python. Потім ми внесемо зміни в оригінальний список і перевіримо, чи це вплине на інші списки.

Python3




import> copy> # Initializing list> list1> => [> 1> , [> 2> ,> 3> ] ,> 4> ]> print> (> 'list 1 before modification: '> , list1)> # all changes are reflected> list2> => list1> # shallow copy - changes to> # nested list is reflected,> # same as copy.copy(), slicing> list3> => list1.copy()> # deep copy - no change is reflected> list4> => copy.deepcopy(list1)> list1.append(> 5> )> list1[> 1> ][> 1> ]> => 999> print> (> 'list 1 after modification: '> , list1)> print> (> 'list 2 after modification: '> , list2)> print> (> 'list 3 after modification: '> , list3)> print> (> 'list 4 after modification: '> , list4)>

Вихід

list 1 before modification: [1, [2, 3], 4] list 1 after modification: [1, [2, 999], 4, 5] list 2 after modification: [1, [2, 999], 4, 5] list 3 after modification: [1, [2, 999], 4] list 4 after mo... 

Копіювати список за допомогою нарізки

Тут ми копіюємо список за допомогою нарізка списку метод [:] і ми додаємо 'а' до нового_списку. Після друку ми бачимо, що щойно доданий символ «a» не додається до старого списку.

Python3




list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)>

Вихід

Old List: [2, 4, 6] New List: [2, 4, 6, 'a'] 

Ми обговорили визначення, синтаксис і приклади методу list copy(). Функція copy() дуже корисна під час роботи з конфіденційними даними, і ви не можете помилитися.

Ми також коротко поговорили про поверхневу чи глибоку копію. Сподіваюся, це допомогло вам зрозуміти функцію copy() у Python.

Читайте Інше Спискові методи Python

Більше статей для копії списку: