[Python] R: Re: Come invertire k, v in un dictionary i cui k sono tuples e le cu v sono lists?

Paolo Di Ieso paolodiieso a libero.it
Mer 4 Mar 2015 07:33:06 CET






Da: marcoberi a gmail.com Data: 04/03/2015 7.16

On Mar 4, 2015 7:10 AM, "Marco Ippolito" <ippolito.marco a gmail.com> wrote:

> Ho questo dictionary:

> d = {('http://www.siemens71.ru/ne', ''): ['w/?fn=10087173'],

> ('http://www', 'stems.it/IT/balanceintheworld.asp'): ['.balancesy',

> '.balancesy']}

>

> come si può ottenere d_inv?:

> d_inv = {['w/?fn=10087173']: ('http://www.siemens71.ru/ne', ''),

> ['.balancesy', '.balancesy']: ('http://www',

> 'stems.it/IT/balanceintheworld.asp')}

>

>

> Vi ringrazio in anticipo
Le liste non possono essere chiavi di dizionari. Detto questo, puoi fare così trasformandole in tuple:
d = dict((tuple(v), k)  for k, v in d.items())
Non provata, ma dovrebbe andare. 

Solo come nota stilistica, mi sembra di ricordare è dalla versione 2.7 di Python che si può usare un comprehension dict:

d = {v:k for k,v in d.items()}



-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150304/e8cef6fd/attachment.html>


Maggiori informazioni sulla lista Python