I need to sort a list of tuples in Python by a specific tuple element, let's say it's the second element in this case. I tried
sorted(tupList, key = lambda tup: tup[1])
I have also tried
sorted(tupList, key = itemgetter(1))
'''i imported itemgetter, attrgetter, methodcaller from operator'''
but the list was returned the same both times. I checked
sorting tuples in python with a custom key
I'm guessing you're calling sorted
but not assigning the result anywhere. Something like:
tupList = [(2,16), (4, 42), (3, 23)]
sorted(tupList, key = lambda tup: tup[1])
print(tupList)
sorted
creates a new sorted list, rather than modifying the original one. Try:
tupList = [(2,16), (4, 42), (3, 23)]
tupList = sorted(tupList, key = lambda tup: tup[1])
print(tupList)
Or:
tupList = [(2,16), (4, 42), (3, 23)]
tupList.sort(key = lambda tup: tup[1])
print(tupList)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.