On Apr 13, 11:52 pm, Aaron Brady <castiro...@gmail.com> wrote: > On Apr 13, 10:04 am, Ross <ross.j...@gmail.com> wrote: > > > > > On Apr 11, 1:10 pm, a...@pythoncraft.com (Aahz) wrote: > > > > In article > > > <4fd78ac3-ba83-456b-b768-3a0043548...@f19g2000vbf.googlegroups.com>, > > > > Ross <ross.j...@gmail.com> wrote: > > > > >I'm trying to design an iterator that produces two lists. The first > > > >list will be a list of unique pairings and the second will be a list > > > >of items that weren't used in the first list. After each round, the > > > >items that weren't used in the round before will get put back in and > > > >the second list will be populated with unique items. > > > > How do you specify what goes into the first list? Based on your > > > description, I would have expected that the output from the first > > > iteration would be > > > > ( [(1,2),(3,4),(5,6)], [7,8] ) > > > > Regardless of the actual algorithm, if you are returning items one at a > > > time and maintaining state in a computation, you probably want to use a > > > generator. > > > -- > > > Aahz (a...@pythoncraft.com) <*> > > > http://www.pythoncraft.com/ > > > > Why is this newsgroup different from all other newsgroups? > > > I'm sorry...my example was probably a bad one. A better example of > > output I would like would be something like [[1,2],[3,4],[5,6]] and > > then for the leftovers list [7,8,9,10 etc]. What I'm trying to do is > > produce some sort of round robin algorithm for tennis that is > > constrained by the number of courts available each week. So if there > > are only 3 courts available for a singles league and 10 people have > > signed up, 4 players will have a bye each week. I want my algorithm to > > produce unique matchups each week and also give each player the same > > angle? > > Take 3 people, 1 court. snip
> Then, you need to arrange it so the player with most court time > has at most one more match than the player with the least court time, > after each week. This is the difficult constraint to satisfy. > Do you need to account for newcomers after the rotation has started, > departers, favorites, skill, etc.? This problem was actually more difficult than I gave it credit for. The problem first shows up in 6 players 2 courts: abcd efac bd EF! Here, E and F are playing eachother twice in a row, although everyone is getting the right number of games as early as possible. It would take some clever foresight, backtracing, or recognition to mix it up better. <attempted handoff> -- http://mail.python.org/mailman/listinfo/python-list