Diccionario de Python | El método fromkeys()

| |

A veces se hace necesario formar un diccionario a partir de las claves dadas. Aproximadamente, hacer esto llevaría tiempo y sería un trabajo más tedioso. Por lo tanto, fromkeys () nos ayuda a resolver fácilmente este problema usando solo un método. Este artículo explica los aspectos operativos y otros asociados con esta función.

Sintaxis: fromkeys (seq, val)

Parámetros:
seq: La secuencia que se va a transformar en un diccionario.
val: Valores iniciales que deben asignarse a las claves generadas... El valor predeterminado es Ninguno.

Devuelve: Un diccionario con claves asignadas a Ninguno si no se proporciona ningún valor, de lo contrario al valor proporcionado en el campo.

Código # 1: Demostración de fromkeys ()

# Código de demostración de Python 3
# trabajando con teclas ()


# secuencia de inicialización

< clase de código = "simple"> seq = { ’a’ < /código> , ’ b’ , ’c’ , ’ d’ , ’e’ }


# usando fromkeys () para convertir la secuencia a dict
# inicializar usando Ninguno

res_dict = dict . fromkeys (seq)


# Imprimir dictado creado

print ( "El dict recién creado con valores Ninguno:" + < /código> str (res_dict ))


# usar fromkeys () para convertir la secuencia a dictado
# inicializar con 1

< clase de código = "simple"> res_dict 2 = dict . Fromkeys (seq, 1 )


# Imprimir dictado creado

print ( "El dict recién creado con 1 como valor:" + str (res_dict2))

Salir:

El dictado recién creado con valores Ninguno: {’d’: Ninguno, ’a’: Ninguno, ’b’: Ninguno, ’c’: Ninguno, ’e’: Ninguno }
El dictado recién creado con 1 como valor: {’ d ’: 1,’ a ’: 1,’ b ’: 1,’ c ’: 1,’ e ’: 1}

< /blockquote>

El comportamiento de fromdict () con objetos mutables como valores:

La función fromdict () también se puede suministrar con un objeto multilatable como valores predeterminados. Pero en este caso se crea una copia en profundidad del diccionario, es decir, si añadimos un valor a la lista original, la suma se produce en todos los valores clave.

Prevención: Ciertas técnicas de comprensión de diccionario pueden usarse para crear una nueva lista como valores clave que no apunte a la lista original como valores clave.

Código # 2: Demostrar comportamiento con objetos mutables.

< td class = "code">

# Código de demostración de Python 3
# comportamiento con objetos mutables


# inicialización de secuencia y lista

seq = { ’a’ , ’ b’ , ’c’ , ’d’ , ’ e’ }

lis1 = [ 2 , 3 ]


# usando fromkeys () para convertir secuencia a dict
# usando el método normal

res_dict = dict . fromkeys (seq, lis1)


# Imprimir dictado creado

print ( "El dictado recién creado con valores de lista:"

+ str (res_dict))

< br /> # agregar a lis1

lis1.append ( 4 )


# Imprimir dictado después de agregar
# Tenga en cuenta que la adición ocurre en todos los valores

print ( " El dict con valores de lista después de agregar: "

< clase de código = "palabra clave"> + str (res_dict) )

lis1 < clase de código ="palabra clave"> = [ 2 , 3 ]

imprimir ( ’’ )


# usando fromkeys () para convertir la secuencia a dict
# usando dict. comprensión

res_dict2 = {clave: < /código> lista (lis1) para clave en seq}


# Imprimir dictado creado

print ( " El dictado recién creado con valores de lista: "

< clase de código = "palabra clave"> + str (res_dict2))


# agregar a lis1

lis1.append ( 4 )

# Imprimir dictado después de agregar
# Tenga en cuenta que la adición no está ocurriendo ahora.

imprimir ( " El dictado con lista valores después de agregar (sin cambios): "

+ str (res_dict2))

Salida:

El dictado recién creado con valores de lista: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’: [2, 3], ’b’: [2, 3]}
El dict con valores de lista después de agregar: {’d’: [2, 3, 4], ’e’: [2, 3, 4], ’c’: [2, 3, 4], ’a’: [2, 3, 4], ’b’: [2, 3, 4] }

El dictado recién creado con valores de lista: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’ : [2, 3], ’b’: [2, 3]}
El dict con valores de lista después de agregar (sin cambios): {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’: [2, 3], ’b’: [2, 3]}

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method