On 03/11/2011 12:21 PM, noydb wrote:
I am just looking to see if there is perhaps a more efficient way of
doing this below (works -- creates two random teams from a list of
players).  Just want to see what the experts come up with for means of
learning how to do things better.

###
import random
players = ["jake", "mike", "matt", "rich", "steve", "tom", "joe",
"jay"]
teamA = random.sample(players, 4)
print teamA
teamB = []
for p in players:
     if p not in teamA:
         teamB.append(p)
print teamB

I'd be tempted to do

  temp = players[:] # copy players
  random.shuffle(temp) # you could directly shuffle players
                       # if you don't care about mangling it
  team_a = temp[:4]
  team_b = temp[4:]
  del temp # optional

This assumes you want balanced-ish teams.

-tkc


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to