> class Player(object):
> def __init__(self, **kw): self.__dict__.update(kw)
> def __repr__(self): return '<Player %s>'%getattr(self, 'name',
> '(anonymous)')
>
> import operator
> [p.name for p in sorted(players, key=operator.attrgetter('attacking'),
> reverse=True)]
Just happened to read this thread and wanted to say this is a neat
little example-- thank you! I have a couple of followup questions.
(1) Is there a performance penalty for using key=operator.attrgetter()?
(2) The Player class looks like a nice model for a data table when one
wants to sort by arbitrary column. Would you agree?
(3) Suppose one wished to construct a player list from a collection of
attribute lists, e.g.,
names = ['bob', 'sam', 'linda']
attack = [7, 5, 8]
defense = [6, 8, 6]
# construct players list here
Can you recommend an efficient way to construct the player list?
Thanks!
Marcus
--
http://mail.python.org/mailman/listinfo/python-list