Sorry, sortedlist = sorted(mylist , key=lambda elem: "%s %s" % (elem['name'], LooseVersion(elem['version'])), reverse=True)
This is what I was trying but LooseVersion() was not sorting version numbers like I thought it would. You will notice that Chrome version "40.0.2214.111" is higher than "40.0.2214.91" but in the end result it's not sorting it that way. Thanks, Charlie On Monday, March 2, 2015 at 10:32:40 AM UTC-8, Emile van Sebille wrote: > On 3/2/2015 10:17 AM, Charles Heizer wrote: > > Hello, > > I'm new to python and I'm trying to find the right way to solve this issue > > I have. > > > > I'm trying to sort this list by name and then by version numbers. The > > problem I'm having is that I can not get the version numbers sorted with > > the highest at the top or sorted properly. > > > > mylist = [{'name': u'com.google.earth', 'version': u'7.1.2.2041'}, > > {'name': u'com.google.earth', 'version': u'7.1.2.2019'}, > > {'name': u'com.google.Chrome', 'version': u'40.0.2214.93'}, > > {'name': u'com.google.Chrome', 'version': u'40.0.2214.91'}, > > {'name': u'com.google.Chrome', 'version': u'40.0.2214.111'}, > > {'name': u'com.google.Chrome', 'version': u'39.0.2171.99'}, > > {'name': u'com.google.Chrome', 'version': u'39.0.2171.95'}, > > {'name': u'com.google.Chrome', 'version': u'39.0.2171.71'}, > > {'name': u'com.google.Chrome', 'version': u'38.0.2125.122'}, > > {'name': u'com.google.Chrome', 'version': u'38.0.2125.111'}, > > {'name': u'com.google.Chrome', 'version': u'38.0.2125.104'}, > > {'name': u'com.google.Chrome', 'version': u'38.0.2125.101'}, > > {'name': u'com.google.Chrome', 'version': u'37.0.2062.94'}, > > {'name': u'com.google.Chrome', 'version': u'37.0.2062.120'}, > > {'name': u'com.google.Chrome', 'version': u'36.0.1985.143'}, > > {'name': u'com.google.Chrome', 'version': u'36.0.1985.125'}, > > {'name': u'com.google.Chrome', 'version': u'35.0.1916.153'}, > > {'name': u'com.google.Chrome', 'version': u'35.0.1916.114'}, > > {'name': u'com.google.Chrome', 'version': u'34.0.1847.137'}, > > {'name': u'com.google.Chrome', 'version': u'34.0.1847.131'}, > > {'name': u'com.google.Chrome', 'version': u'34.0.1847.116'}, > > {'name': u'com.google.Chrome', 'version': u'33.0.1750.152'}, > > {'name': u'com.google.Chrome', 'version': u'33.0.1750.149'}, > > {'name': u'com.google.Chrome', 'version': u'33.0.1750.146'}, > > {'name': u'com.google.Chrome', 'version': u'32.0.1700.107'}, > > {'name': u'com.google.Chrome', 'version': u'31.0.1650.63'}, > > {'name': u'com.google.Chrome', 'version': u'31.0.1650.57'}] > > > > sortedlist = sorted(mylist , key=lambda x, y: x['name'] > > LooseVersion(elem['version'])), reverse=True) > > You'll need to fix LooseVersion or elem or both -- or show them so we > can help. > > Emile > > > > > > > Thanks, > > Charlie > > -- https://mail.python.org/mailman/listinfo/python-list