Raymond Hettinger added the comment:
FWIW, here are some variants (with differing degrees of brevity, clarity, and
performance):
def choice(self, seq):
"""Choose a random element from a non-empty sequence."""
n = len(seq)
i = int(self.random() * n)
if i == n:
i = n - 1
return seq[i]
def choice(self, seq):
"""Choose a random element from a non-empty sequence."""
try:
return seq[int(self.random() * len(seq))]
except IndexError:
return seq[-1]
def choice(self, seq):
"""Choose a random element from a non-empty sequence."""
n = len(seq)
return seq[min(int(self.random() * n), n-1)]
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue24567>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com