From: Raymond Hettinger Date: Sun, 6 Oct 2013 04:52:06 +0000 (-0700) Subject: Minor clean-up of function parameters in random(). X-Git-Tag: v3.4.0a4~270 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be74a3d721f660aa276eaac1a52565b7d3546a27;p=thirdparty%2FPython%2Fcpython.git Minor clean-up of function parameters in random(). --- be74a3d721f660aa276eaac1a52565b7d3546a27 diff --cc Lib/random.py index 3fac699d937d,35e5b4a06326..4a9fbd10594f --- a/Lib/random.py +++ b/Lib/random.py @@@ -254,21 -250,27 +253,27 @@@ class Random(_random.Random) raise IndexError('Cannot choose from an empty sequence') return seq[i] - def shuffle(self, x, random=None, int=int): + def shuffle(self, x, random=None): - """x, random=random.random -> shuffle list x in place; return None. + """Shuffle list x in place, and return None. - Optional arg random is a 0-argument function returning a random - float in [0.0, 1.0); by default, the standard random.random. + Optional argument random is a 0-argument function returning a + random float in [0.0, 1.0); if it is the default None, the + standard random.random will be used. -- Do not supply the 'int' argument. """ - randbelow = self._randbelow - for i in reversed(range(1, len(x))): - # pick an element in x[:i+1] with which to exchange x[i] - j = randbelow(i+1) if random is None else int(random() * (i+1)) - x[i], x[j] = x[j], x[i] + if random is None: + randbelow = self._randbelow + for i in reversed(range(1, len(x))): + # pick an element in x[:i+1] with which to exchange x[i] + j = randbelow(i+1) + x[i], x[j] = x[j], x[i] + else: + _int = int + for i in reversed(range(1, len(x))): + # pick an element in x[:i+1] with which to exchange x[i] + j = _int(random() * (i+1)) + x[i], x[j] = x[j], x[i] def sample(self, population, k): """Chooses k unique random elements from a population sequence or set.