предположим, у меня есть словарь, ключи которого являются строками. Как я могу эффективно создать новый словарь из того, который содержит только ключи, присутствующие в каком-то списке?
например:
# a dictionary mapping strings to stuff
mydict = {'quux': ...,
'bar': ...,
'foo': ...}
# list of keys to be selected from mydict
keys_to_select = ['foo', 'bar', ...]
Я придумал:
filtered_mydict = [mydict[k] for k in mydict.keys() \
if k in keys_to_select]
но я думаю, что это крайне неэффективно, потому что: (1) это требует перечисления ключей с ключами (), (2) это требует поиска k в keys_to_select каждый раз. я думаю, что хотя бы одного из них можно избежать. есть идеи? Я могу также использовать scipy / numpy, если нужно.