Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sort a list of percentages

I have the following list:

l = ['50%','12.5%','6.25%','25%']

Which I would like to sort in the following order:

['6.25%','12.5%','25%','50%']

Using l.sort() yields:

['12.5%','25%','50%','6.25%']

Any cool tricks to sort these lists easily in Python?

like image 664
mortenvp Avatar asked May 11 '10 09:05

mortenvp


1 Answers

You can sort with a custom key

b =['52.5%', '62.4%', '91.8%', '21.5%']
b.sort(key = lambda a: float(a[:-1]))

This resorts the set, but uses the numerical value as the key (i.e. chops of the '%' in the string and converts to float.

like image 163
Il-Bhima Avatar answered Nov 12 '22 23:11

Il-Bhima