On 05/08/2012 05:23 PM, Jacob Bender wrote: > <SNIP> > > > def smartest(self): #Return the neurons in order from smartest to > dumbest in list form. > for neuron in self.neurons: > sorted(neuron, key=self.total(neuron)) > > The total function works when it returns the strength of a neuron, but I > don't think the "sorted" function is the best because, with its current > configuration, it returns a type error. I have been doing python for > several years now. I don't know EVERYTHING there is to know, but I am able > to do most tasks without error. Please help me get the neurons into an > order in a list as described in my original email. Also, I do thank you for > your original replies! > > You put your error traceback in a separate thread. Please use reply(-all) to keep the related messages in one place.
Without trying to really understand the rest of the code, this last function is messed up in many ways. So I'll suggest something that makes it plausible, but not necessarily what the rest of the code wants. if you're going to sort something with sort() or sorted(), you don't do that inside a loop. You sort the list directly, in a single operation. And if you want to return something you need a return statement. If you're passing a key function into the sorted() function, you want to pass the function object, not the result of calling it once (ie. omit the parentheses). So if you want to sort the neuron items in the neurons list, you'd do something like: def smartest(self): return sorted(neurons, key=self.total) -- DaveA _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor