master_list = [["Hi", 2.00],["Hey", 6.01],["Hello", 9.56], ["How", 6.01]] master_list.sort(key=lambda x: -(x, -x))
I tried using this function to sort the master_list in descending order by the number, and if there is a tie, descending order by the string.
However, I get the error "TypeError: bad operand type for unary -: ‘str’
I don’t know what I am doing wrong to get this error. How do I sort the list?
It is because you are applying a negation (
-) on a tuple a string. Using
sorted function, you can use
reverse=True to sort the array in descending order.
sorted(master_list, key=lambda x: (x, x), reverse=True)