On Monday, March 2, 2015 at 11:23:37 AM UTC-8, Peter Otten wrote: > Charles Heizer wrote: > > > Never mind, the light bulb finally went off. :-\ > > > > sortedlist = sorted(mylist , key=lambda elem: "%s %s" % ( elem['name'], > > (".".join([i.zfill(5) for i in elem['version'].split(".")])) ), > > reverse=True) > > This lightbulb will break with version numbers > 99999 ;) > > Here are two alternatives: > > result = sorted( > mylist, > key=lambda elem: (elem['name'], LooseVersion(elem['version'])), > reverse=True) > > result = sorted( > mylist, > key=lambda e: (e["name"], tuple(map(int, e["version"].split(".")))), > reverse=True) > > > Personally, I prefer to not use a lambda: > > def name_version(elem): > return elem['name'], LooseVersion(elem['version']) > > result = sorted(mylist, key=name_version, reverse=True)
Peter, thank you. Me being new to Python why don't you prefer to use a lambda? -- https://mail.python.org/mailman/listinfo/python-list