Dizionario Python | Il metodo fromkeys()

| |

A volte diventa necessario formare un dizionario dalle chiavi date. All’incirca, questo richiederebbe tempo e sarebbe un lavoro più noioso. Quindi, fromkeys() ci aiuta a risolvere facilmente questo problema usando un solo metodo. In questo articolo vengono illustrati gli aspetti operativi e di altro tipo associati a questa funzionalità.

Sintassi: fromkeys (seq, val)

Parametri:
seq: La sequenza da trasformare in dizionario.
val: Valori iniziali che devono essere assegnati alle chiavi generate... Il valore predefinito è Nessuno.

Restituisce: Un dizionario con chiavi mappate su Nessuno se non viene fornito alcun valore, altrimenti sul valore fornito nel campo.

Codice n. 1: Dimostrazione di fromkeys ()

# codice demo Python 3
# lavorare con i tasti ()


# sequenza di inizializzazione

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


# using fromkeys() per convertire la sequenza in dict
# inizializza usando Nessuno

res_dict = dict . fromkeys (seq)


# Stampa dict creato

print ( "Il dict appena creato con valori None:" + str (res_dict ))


# using fromkeys() per convertire la sequenza in dict
# inizializza con 1

res_dict 2 = dict . Fromkeys (seq, 1 )


# Stampa dict creato

print ( "Il dict appena creato con 1 come valore:" + str (res_dict2))

Esci :

Il dict appena creato con valori Nessuno: {’d’: Nessuno, ’a’: Nessuno, ’b’: Nessuno, ’c’: Nessuno, ’e’: Nessuno }
Il dict appena creato con 1 come valore: {’ d ’: 1,’ a ’: 1,’ b ’: 1,’ c ’: 1,’ e ’: 1}

< /blockquote>

Il comportamento fromdict() con oggetti mutabili come valori:

La funzione fromdict() può anche essere fornita con un oggetto multilatable come valori predefiniti. Ma in questo caso, viene creata una copia profonda dal dizionario, ovvero se aggiungiamo un valore all’elenco originale, l’aggiunta si verifica in tutti i valori chiave.

Prevenzione: alcune tecniche di comprensione del dizionario possono essere utilizzate per creare un nuovo elenco come valori chiave che non puntano all’elenco originale come valori chiave.

Codice n. 2: Dimostra il comportamento con oggetti mutabili.

< td class = "code">

# codice demo Python 3
# comportamento con oggetti mutabili


# inizializzazione sequenza ed elenco

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

lis1 = [ 2 , 3 ]


# using fromkeys() per convertire la sequenza in dict
# usando il metodo normale

res_dict = dict . fromkeys (seq, lis1)


# Stampa dict creato

print ( "Il dict appena creato con i valori dell’elenco:"

+ str (res_dict))

< br /> # aggiungi a lis1

lis1.append ( 4 )


# Stampa diktat dopo l’aggiunta
# Nota che l’aggiunta avviene in tutti i valori

print ( " Il dict con i valori dell’elenco dopo aver aggiunto: "

< codice classe = "parola chiave"> + str (res_dict) )

lis1 < codice classe ="parola chiave "> = [ 2 , 3 ]

print ( ’’ )


# using fromkeys() per convertire la sequenza in dict
# using dict. comprensione

res_dict2 = {key: elenco (lis1) for chiave in seq}


# Stampa dict creato

print ( " Il dict appena creato con valori di elenco: "

+ str (res_dict2))


# aggiungi a lis1

lis1.append ( 4 )

# Stampa diktat dopo l’aggiunta
# Nota che l’aggiunta non sta avvenendo ora.

print ( " Il dict con la lista valori dopo l’aggiunta (nessuna modifica): "

+ str (res_dict2))

Output:

Il dict appena creato con i valori dell’elenco: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3] , ’a’: [2, 3], ’b’: [2, 3]}
Il dict con i valori dell’elenco dopo aver aggiunto: {’d’: [2, 3, 4], ’e’: [2, 3, 4], ’c’: [2, 3, 4], ’a’: [2, 3, 4], ’b’: [2, 3, 4] }

Il dict appena creato con i valori dell’elenco: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’ : [2, 3], ’b’: [2, 3]}
Il dict con i valori dell’elenco dopo l’aggiunta (nessuna modifica): {’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