Я работаю с большим словарем, и по какой-то причине мне также нужно работать с небольшими случайными выборками из этого словаря. Как я могу получить этот небольшой образец (например, длина 2)?Получите случайный образец dict
Вот это игрушка-модель:
dy={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
Мне нужно выполнить задачу по ау, которая включает в себя все элементы. Скажем, упростить, мне нужно суммировать вместе все значения:
s=0
for key in dy.key:
s=s+dy[key]
Теперь, я также должен выполнить ту же задачу на случайной выборке ау; для этого мне нужна случайная выборка ключей dy. Простое решение, которое я могу себе представить, это
sam=list(dy.keys())[:1]
Таким образом, у меня есть список из двух ключей словаря, которые являются случайными. Итак, возвращаясь к задаче мая, единственное изменение, мне нужно в коде:
s=0
for key in sam:
s=s+dy[key]
Дело в том, я не совсем понимаю, как dy.keys строится, и тогда я не могу предвидеть любые будущие проблемы
Почему бы не просто создать список через random.sample? в чем преимущество использования устройства для создания предметов? – user2988577
@ user2988577 'itemgetter' иногда может быть быстрее - иначе - просто напишите его как' sum (dy [k] для k в random.sample (dy.keys(), 2)) ' –