给出您的示例:
dy = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}然后,将所有值的总和简化为:
s = sum(dy.values())
然后,如果不禁止使用内存,则可以使用以下示例进行采样:
import randomvalues = list(dy.values())s = sum(random.sample(values, 2))
或者,由于
random.sample可以使用类似
set对象的对象,因此:
from operator import itemgetterimport randoms = sum(itemgetter(*random.sample(dy.keys(), 2))(dy))
或者只是使用:
s = sum(dy[k] for k in random.sample(dy.keys(), 2))
一种替代方法是使用
heapq,例如:
import heapqimport randoms = sum(heapq.nlargest(2, dy.values(), key=lambda L: random.random()))



