Очень эффективный способ получить что-либо - это объединить списки или словари с нарезкой.Если вам не нужно упорядочивать элементы (вы просто хотите n случайных пар), вы можете использовать словарное понимание следующим образом:
# Python 2
first2pairs = {k: mydict[k] for k in mydict.keys()[:2]}
# Python 3
first2pairs = {k: mydict[k] for k in list(mydict)[:2]}
Как правило, такое понимание всегда выполняется быстрее, чем эквивалентный"для х в у" цикл.Кроме того, используя .keys () для составления списка ключей словаря и нарезки этого списка, вы избегаете «касания» ненужных клавиш при создании нового словаря.
Если вам не нужны ключи (только значения), вы можете использовать понимание списка:
first2vals = [v for v in mydict.values()[:2]]
Если вам нужны значения, отсортированные по их ключам, это не намногопроблема:
first2vals = [mydict[k] for k in sorted(mydict.keys())[:2]]
или если вам также нужны ключи:
first2pairs = {k: mydict[k] for k in sorted(mydict.keys())[:2]}