У меня есть список, который выглядит следующим образом:Python - пересечение между списком и ключами словаря
l1 = ['200:200', '90:728']
У меня есть словарь, который выглядит следующим образом:
d1 = {'200:200':{'foo':'bar'},'300:300':{'foo':'bar'}}
Мне нужно, чтобы получить отфильтруйте дикториал, где только ключи находятся в l1. ДИКТ должен выглядеть следующим образом:
result = {'200:200':{'foo':'bar'}}
В сущности, пересечение списка и ключи от Словаря при возвращении в подразделе Dict.
Как это сделать эффективно, когда время является проблемой для больших наборов?
Благодаря
Обратите внимание, что в 3.x вид словаря установлен как-то, поэтому вам не нужно обертывать его в 'set()'. Фактически, в 3.x вся верхняя строка может быть 'keys = d1.keys() & l1'. –
@Lattyware вам не нужно вводить его в набор в 2.x либо – jamylak
Даже не нужны клавиши(), 'set (l1) .intersection (d1)' – georg