mirror of
https://github.com/python/cpython.git
synced 2025-08-30 05:35:08 +00:00
Take Tim's advice and have random.sample() support only sequences and sets.
This commit is contained in:
parent
28de64fd0f
commit
1acde190b2
4 changed files with 22 additions and 49 deletions
|
@ -84,26 +84,7 @@ class TestBasicOps(unittest.TestCase):
|
|||
self.gen.sample(tuple('abcdefghijklmnopqrst'), 2)
|
||||
|
||||
def test_sample_on_dicts(self):
|
||||
self.gen.sample(dict.fromkeys('abcdefghijklmnopqrst'), 2)
|
||||
|
||||
# SF bug #1460340 -- random.sample can raise KeyError
|
||||
a = dict.fromkeys(list(range(10)) +
|
||||
list(range(10,100,2)) +
|
||||
list(range(100,110)))
|
||||
self.gen.sample(a, 3)
|
||||
|
||||
# A followup to bug #1460340: sampling from a dict could return
|
||||
# a subset of its keys or of its values, depending on the size of
|
||||
# the subset requested.
|
||||
N = 30
|
||||
d = dict((i, complex(i, i)) for i in range(N))
|
||||
for k in range(N+1):
|
||||
samp = self.gen.sample(d, k)
|
||||
# Verify that we got ints back (keys); the values are complex.
|
||||
for x in samp:
|
||||
self.assert_(type(x) is int)
|
||||
samp.sort()
|
||||
self.assertEqual(samp, list(range(N)))
|
||||
self.assertRaises(TypeError, self.gen.sample, dict.fromkeys('abcdef'), 2)
|
||||
|
||||
def test_gauss(self):
|
||||
# Ensure that the seed() method initializes all the hidden state. In
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue