import random
data = {'banana': 3, 'apple': 2, 'cherry': 1, 'orange': 3}
result = [i for i, v in data.items() if v == max(data.values())]
print (random.choice(result))
# With simple for loop and if condition
result_1 = []
for i, v in data.items():
if v == max(data.values()):
result_1.append(i)
print (random.choice(result_1))
from itertools import groupby
import random
d = {'banana': 3, 'apple': 12, 'cherry': 1, 'orange': 12}
print(random.choice(max(((k, list(g)) for k, g in groupby(sorted(d, key=d.get), key=d.get)), key=lambda x: x[0])[1]))