排序百分比列表

mor*_*nvp 4 python sorting list

我有以下列表:

l = ['50%','12.5%','6.25%','25%']
Run Code Online (Sandbox Code Playgroud)

我想按以下顺序排序:

['6.25%','12.5%','25%','50%']
Run Code Online (Sandbox Code Playgroud)

使用l.sort()产生:

['12.5%','25%','50%','6.25%']
Run Code Online (Sandbox Code Playgroud)

在Python中轻松排序这些列表的任何很酷的技巧?

Il-*_*ima 15

您可以使用自定义键进行排序

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

这会对集合进行调整,但使用数值作为键(即字符串中'%'的字符串并转换为浮点数.