# Sorting a multidimensional list in python



## bharat_r (Jan 27, 2010)

Hello 

I have created a multidimensional list in python

I used the following code:


```
r =[(300, 4), (5, 6), (100, 2)]
```

I tried sorting it in ascending order using r.sort()
and I get [(5, 6), (100, 2), (300, 4)]

I want it to get sorted based on each on the 2nd element instead of the first. That is the result should be [(100,*2*), (300,*4*), (5,*6*)]

How do I go about doing this?

Thank you.


----------



## ojha_riddhish (Apr 9, 2010)

Try this:

from operator import itemgetter
r=[(300,4), (5,6), (100,2)]
s=sorted(r, key=itemgetter(1))
print (s)

The sorted method can be used instead of sort for flexibility. With key attribute you can specify what index element of tuple to use for sorting.

Thanks


----------

