# Python – Sort Matrix by Row Median

• Last Updated : 11 Oct, 2020

Given a Matrix, sort by median of each row.

Input : test_list = [[3, 4, 7], [1, 7, 2], [10, 2, 4], [8, 6, 5]]
Output : [[1, 7, 2], [3, 4, 7], [10, 2, 4], [8, 6, 5]]
Explanation : 2 < 3 < 4 < 6, sorted increasingly by median element.

Input : test_list = [[3, 4, 7], [1, 7, 2], [8, 6, 5]]
Output : [[1, 7, 2], [3, 4, 7], [8, 6, 5]]
Explanation : 2 < 3 < 6, sorted increasingly by median element.

Method #1 : Using sort() + median()

In this, we perform sort using sort() and median is computed using statistics function of computing median, median().

## Python3

 `# Python3 code to demonstrate working of ``# Sort Matrix by Row Median``# Using sort() + median()``from` `statistics ``import` `median`` ` `def` `med_comp(row):``     ` `    ``# computing median``    ``return` `median(row)`` ` `# initializing list``test_list ``=` `[[``3``, ``4``, ``7``], [``1``, ``7``, ``2``], [``10``, ``2``, ``4``], [``8``, ``6``, ``5``]]`` ` `# printing original list``print``(``"The original list is : "` `+` `str``(test_list))`` ` `# inplace sorting using sort()``test_list.sort(key ``=` `med_comp)`` ` `# printing result ``print``(``"Sorted Matrix : "` `+` `str``(test_list))`

Output

```The original list is : [[3, 4, 7], [1, 7, 2], [10, 2, 4], [8, 6, 5]]
Sorted Matrix : [[1, 7, 2], [3, 4, 7], [10, 2, 4], [8, 6, 5]]

```

Method #2 : Using sorted() + lambda + median()

In this, we perform task of perform sort using sorted(), and lambda function is used as key function rather than external function.

## Python3

 `# Python3 code to demonstrate working of ``# Sort Matrix by Row Median``# Using sorted() + lambda + median()``from` `statistics ``import` `median`` ` `# initializing list``test_list ``=` `[[``3``, ``4``, ``7``], [``1``, ``7``, ``2``], [``10``, ``2``, ``4``], [``8``, ``6``, ``5``]]`` ` `# printing original list``print``(``"The original list is : "` `+` `str``(test_list))`` ` `# inplace sorting using sort()``res ``=` `sorted``(test_list, key ``=` `lambda` `row : median(row))`` ` `# printing result ``print``(``"Sorted Matrix : "` `+` `str``(res))`

Output

```The original list is : [[3, 4, 7], [1, 7, 2], [10, 2, 4], [8, 6, 5]]
Sorted Matrix : [[1, 7, 2], [3, 4, 7], [10, 2, 4], [8, 6, 5]]

```

My Personal Notes arrow_drop_up