On 2013-05-26, RVic wrote: > Suppose I have a deck of cards, and I shuffle them > > import random > cards = [] > decks = 6 > cards = list(range(13 * 4 * decks)) > random.shuffle(cards) > > So now I have an array of cards. I would like to cut these cards at some > random point (between 1 and 13 * 4 * decks - 1, moving the lower half of > that to the top half of the cards array. > > For some reason, I can't see how this can be done (I know that it must > be a simple line or two in Python, but I am really stuck here). Anyone > have any direction they can give me on this? Thanks, RVic, python newbie >
The slice notation should be your friend here: random.shuffle(cards) cut_point = random.choice(xrange(len(cards))) cards = cards[cut_point :] + cards[: cut_point] -- Real (i.e. statistical) tennis and snooker player rankings and ratings: http://www.statsfair.com/ -- http://mail.python.org/mailman/listinfo/python-list