2015-09-12 13 views
9

In Python, vedo la gente creando dizionari in questo modo:Python: creare un dizionario usando dict() con chiavi integer?

d = dict(one = 1, two = 2, three = 3) 

Che cosa succede se le chiavi sono interi? Quando provo questo:

d = dict (1 = 1, 2 = 2, 3 = 3) 

Ho un errore. Naturalmente ho potuto fare questo:

d = { 1:1, 2:2, 3:3 } 

che funziona bene, ma la mia domanda principale è questo: c'è un modo per impostare interi chiavi utilizzando il dict() Funzione/costruttore?

risposta

19

Sì, ma non con quella versione del costruttore. È possibile effettuare ciò:

>>> dict([(1, 2), (3, 4)]) 
{1: 2, 3: 4} 

Ci sono diversi modi per creare un dettato. Come documented, "fornire argomenti per le parole chiave [...] funziona solo con chiavi che sono identificativi Python validi."

+0

Questo è quello che temevo. C'è un modo semplice e visivamente attraente per creare un dizionario 'd = dict (one = 1, two = 2)' ma se le tue chiavi NON sono identificatori Python validi, sei costretto ad usare una sintassi molto meno semplice. :( – Sindyr

+3

@Sindyr: C'è un modo semplice e accattivante È '{1: 2, 3: 4}'. – BrenBarn

+0

Sì, ho avuto questo nel mio esempio principale, ho appena trovato la sintassi uguale di '1 = 1' ancora di più – Sindyr

Problemi correlati