|
|
|
|
|
by divbzero
2167 days ago
|
|
Indeed, I got Counter({
(1, 'baz'): 12525,
(1, 'KeyError'): 12552,
(2, 'foo'): 12255,
(2, 'bar'): 25282,
(2, 'baz'): 37386
})
from running import random
class C:
def __hash__(self):
# return 0 or 1, with equal probability
return random.randint(0, 1)
def output():
x = C()
d = {}
d[x] = "foo"
d[x] = "bar"
d[x] = "baz"
try:
return len(d), d[x]
except Exception as e:
return len(d), type(e).__name__
from collections import Counter
Counter(output() for i in range(100000))
|
|