Método copy() del diccionario (Dictionary) de Python

Python 字典Diccionario Python


Descripción

La función copy() del diccionario (Dictionary) de Python devuelve una copia superficial de un diccionario.

Sintaxis

Sintaxis del método copy():

dict.copy()

Parámetros

  • NA.

Valor de retorno

Devuelve una copia superficial de un diccionario.

Ejemplo

El siguiente ejemplo muestra el uso de la función copy():

Ejemplo

#!/usr/bin/python dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = dict1.copy() print "New Dictinary : %s" % str(dict2)

El resultado del ejemplo anterior es:

New Dictinary : {'Age': 7, 'Name': 'Zara'}

Diferencia entre asignación directa y copy

Se puede explicar con el siguiente ejemplo:

Ejemplo

#!/usr/bin/python # -*- coding: UTF-8 -*- dict1 = {'user':'ejemplo','num':[1,2,3]} dict2 = dict1 # Copia superficial: objeto de referencia dict3 = dict1.copy() # Copia superficial: copia profunda del objeto padre (directorio de primer nivel), el objeto hijo (directorio de segundo nivel) no se copia, sigue siendo una referencia # Modificar los datos de data dict1['user']='root' dict1['num'].remove(1) # Resultado de salida print(dict1) print(dict2) print(dict3)

En el ejemplo, dict2 es en realidad una referencia (alias) de dict1, por lo que los resultados de salida son todos iguales. dict3 realizó una copia profunda del objeto padre, no se modificará con los cambios de dict1; el objeto hijo es una copia superficial, por lo que se modifica con los cambios de dict1.

{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'ejemplo'}

Ampliación de conocimientos

Explicación de la asignación directa, copia superficial y copia profunda en Python



Python 字典Diccionario Python

Otras ampliaciones