Ho una lista che assomiglia a questo:Python - intersezione tra una lista e le chiavi di un dizionario
l1 = ['200:200', '90:728']
Ho un dizionario che assomiglia a questo:
d1 = {'200:200':{'foo':'bar'},'300:300':{'foo':'bar'}}
ho bisogno di ottenere filtrare il dictioary dove sono presenti solo le chiavi in l1. Il dict dovrebbe essere simile a questo:
result = {'200:200':{'foo':'bar'}}
In sostanza un incrocio di una lista e le chiavi di una dict mentre tornava la sottosezione del dict.
Come faccio a farlo in modo efficiente quando il tempo è un problema per un set di grandi dimensioni?
Grazie
Si noti che in 3.x, una vista dizionario è impostata come, quindi non è necessario avvolgerla in 'set()'. Infatti, in 3.x, l'intera riga superiore può essere 'keys = d1.keys() & l1'. –
@Lattyware non è necessario convertirlo in un set in 2.x o – jamylak
Non sono nemmeno necessari i tasti(), 'set (l1) .intersection (d1)' – georg