Скажем, у меня есть словарь, построенный следующим образом:
d={0:1, 1:2, 2:3, 10:4, 11:5, 12:6, 100:7, 101:8, 102:9, 200:10, 201:11, 202:12}
и я хочу создать подсловарь d1
, нарезав d
таким образом, чтобы d1
содержал следующие ключи: 0, 1, 2, 100, 101, 102
. Окончательный вывод должен быть:
d1={0:1, 1:2, 2:3, 100:7, 101:8, 102:9}
Есть ли эффективный Pythonic-способ сделать это, учитывая, что мой реальный словарь содержит более 2 000 000 элементов?
Я думаю, что этот вопрос относится ко всем случаям, когда ключи являются целыми числами, когда срезы должны следовать определенным правилам неравенства и когда конечным результатом должен быть набор срезов, объединенных в одном словаре.
{k: d[k] for k in [0, 1, ...]}
? - person jonrsharpe   schedule 05.11.2016