Here is my question i have tuple1=[(1, 3), (3, 2), (2, 1)]
i want to sort tuple based on last digit of each tuple so the resultant will look like this
output=[(2, 1), (3, 2), (1, 3)]
below is my code
i=0
for x in tuples:
c.append(x[len(x)-1])
last=sorted(c)
for y in last.iteritems():
if(y in x[len(x)-1]):
print x
#b.insert(i,x)
i=i+1
after running iam getting an error message
Traceback (most recent call last):
File "x.py", line 47, in <module>
sort_last([(1, 3), (3, 2), (2, 1)])
File "x.py", line 35, in sort_last
if(y in x[len(x)-1]):
TypeError: argument of type 'int' is not iterable
Specify the key
argument in the sorted
function.
>>> tuple1=[(1, 3), (3, 2), (2, 1)]
>>> output = sorted(tuple1, key=lambda x: x[-1])
>>> print output
[(2, 1), (3, 2), (1, 3)]
The sorted
function (as well as the list.sort
method) has an optional key
argument which specifies what to sort the list on.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With