logo

Método de copia de lista de Python ()

El método Copiar lista () hace una nueva copia superficial de una lista.

Ejemplo

Python3






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

>

>

Producción

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

¿Qué es el método Copia de lista ()?

La lista Función copiar() en Pitón se utiliza para crear una copia de una lista. Hay dos formas principales de crear una copia de la lista. Copia superficial y Copia profunda. Discutiremos el método list copy() en detalle a continuación.

La función list copy() se usa para crear una copia de una lista, que se puede usar para trabajar y no afectará los valores de la lista original. Esto brinda libertad para manipular datos sin preocuparse por la pérdida de datos.

Lista de sintaxis del método copy()

lista.copiar()

Parámetros

  • El método copy() no toma ningún parámetro.

Devoluciones: Devuelve un copia superficial de una lista.

Nota : Una copia superficial significa que cualquier modificación en la nueva lista no se reflejará en la lista original.

Cómo crear una copia simple de una lista en Python

Se puede copiar y crear una nueva lista usando la función copy() en Python.

Python3




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

>

>

Producción

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

Más ejemplos sobre el método List copy()

Veamos algunos ejemplos de la lista. Copiar() método.

Ejemplo 1: copia de lista simple

En este ejemplo, estamos creando una Lista de cadenas de pitón y estamos usando Copiar() método para copiar la lista a otra variable.

Python3




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

>

>

Producción

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

Ejemplo 2: Demostración del funcionamiento de Copia de lista()

Aquí crearemos un lista de pitones y luego cree una copia superficial usando la función copiar(). Luego agregaremos un valor a la lista copiada para verificar si copiar una lista usando el método copy() afecta la lista original.

Python3




matriz de retorno de Java
# 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))>

>

>

Producción

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]>

Nota: Una copia superficial significa que si modificamos cualquiera de los elementos de la lista anidada, los cambios se reflejan en ambas listas ya que apuntan a la misma referencia.

Copia superficial y copia profunda

A copia profunda es una copia de una lista, donde agregamos un elemento en cualquiera de las listas, solo se modifica esa lista.

En copiar lista() método, los cambios realizados en la lista copiada no se reflejan en la lista original. Los cambios realizados en una lista no se reflejan en otras listas excepto en los elementos anidados (como una lista dentro de una lista).

Podemos usar el copiar.copia profunda() desde el módulo de copia para evitar este problema.

  • Técnicas de copia profunda:
    • Usando copy.deepcopy()
  • Técnicas de copia superficial:
    • Usando copiar.copiar()
    • Usando lista.copiar()
    • Usando rebanar

Para obtener una comprensión más profunda, consulte este artículo sobre Copia profunda versus copia superficial .

Demostración de técnicas de copia superficial y profunda

Aquí crearemos una lista y luego crearemos una copia superficial usando el operador de asignación , enumera el método copy() y el método copy.copy() del módulo de copia de Python.

También creamos una copia profunda usando deepcopy() en Python. Luego haremos cambios en la lista original y veremos si las otras listas se ven afectadas o no.

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)>

>

>

Producción

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...>

Copiar lista usando corte

Aquí estamos copiando la lista usando el lista de corte método [:] y estamos agregando el 'a' a la nueva_lista. Después de imprimir, podemos ver que el carácter 'a' recién agregado no se agrega a la lista anterior.

Python3




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

>

>

Producción

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

Discutimos la definición, la sintaxis y los ejemplos del método list copy(). La función copy() es muy útil cuando se trabaja con datos confidenciales y no puede correr el riesgo de cometer errores.

También hablamos brevemente sobre la copia superficial y la copia profunda. Espero que esto te haya ayudado a comprender la función copy() en Python.

Leer otro Métodos de lista de Python

Más artículos en la copia de la lista: