У меня есть словарь, и я хотел бы передать часть его функции, причем эта часть задается списком (или кортежем) ключей. Вот так:
# the dictionary
d = {1:2, 3:4, 5:6, 7:8}
# the subset of keys I'm interested in
l = (1,5)
Теперь, в идеале, я хотел бы иметь возможность сделать это:
>>> d[l]
{1:2, 5:6}
... но это не работает, так как он будет искать ключ с именем (1,5)
. И d[1,5]
даже не действителен Python (хотя, похоже, это будет удобно).
Я знаю, что могу сделать это:
>>> dict([(key, value) for key,value in d.iteritems() if key in l])
{1: 2, 5: 6}
или это:
>>> dict([(key, d[key]) for key in l])
который более компактен... но я считаю, что должен быть "лучший" способ сделать это. Не хватает ли более элегантного решения?
(Я использую Python 2.7)