Il Fri, 06 Mar 2009 03:43:22 -0800, Chris Rebert ha scritto: > 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
Great, append is equivalent to += right? or more efficient? -- http://mail.python.org/mailman/listinfo/python-list