On Fri, Mar 6, 2009 at 3:07 AM, mattia <ger...@gmail.com> wrote: > Great, the for statement has not to deal with fap anymore, but with > another sequence, like this: > > def get_roulette_wheel(weight_value_pairs): > roulette_wheel = [] > for weight, value in weight_value_pairs: > roulette_wheel += [value]*weight > return roulette_wheel > > def selection(fitness, population): > ... > rw = get_roulette_wheel(fap) > for i in range(pop_len-2): > selected_population += [choice(rw)] > return selected_population > > I think that using [choice(rw)]*len(fap) will produce the same sequence > repeted len(fap) times...
Revision to this new code: def get_roulette_wheel(weight_value_pairs): return [[value]*weight for weight, value in weight_value_pairs] def selection(fitness, population): ... rw = get_roulette_wheel(fap) for i in range(len(fap)): selected_population.append(choice(rw)) return selected_population Cheers, Chris -- I have a blog: http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list