2015-06-08 18 views
8

Come cambiare una chiave in un dizionario Python?Rinominare le chiavi di un dizionario

Una routine restituisce un dizionario. Tutto è OK con il dizionario, tranne che un paio di chiavi devono essere rinominate. Questo codice copia la voce del dizionario (chiave = valore) in una nuova voce con la chiave desiderata e quindi elimina la voce precedente. Esiste un modo più pitonico, forse senza duplicare il valore?

my_dict = some_library.some_method(scan) 
my_dict['qVec'] = my_dict['Q'] 
my_dict['rVec'] = my_dict['R'] 
del my_dict['Q'], my_dict['R'] 
return my_dict 

risposta

26

dict chiavi sono immutabili. Ciò significa che non possono essere modificati. È possibile saperne di più dalla docs

dizionari sono indicizzati da chiavi, che può essere qualsiasi tipo immutabile

Qui è una soluzione utilizzando dict.pop

>>> d = {1:'a',2:'b'} 
>>> d[3] = d.pop(1) 
>>> d 
{2: 'b', 3: 'a'} 
Problemi correlati