a = [(5,8), (3,4), (9,7)] #sort by first element in tuple result = sorted(a, key=lambda tup: tup[0]) #OR to do inplace sort: a.sorted(key = lambda tup: tup[0]) # output [(3, 4), (5, 8), (9, 7)]