在Python中对一系列值进行排序



我在Python中的一个列表中有一系列的薪水,比如这样的['10000-150000','2500'-'3000','5000-7500']。

我想对这个列表进行asc排序,但如果尝试list.sort((,它不会正确排序,因为列表中的对象是字符串。我无法转换为int并排序,因为'-'的

这只是使用一个排序键将字符串的前半部分转换为整数的问题。

lst = ['10,000-15,0000','2,500-3,000','5,000-7,500']
lst.sort( key=lambda x: int(x.split('-')[0].replace(',','')))
print(lst)

输出:

C:Data>python x.py
['2,500-3,000', '5,000-7,500', '10,000-15,0000']
C:Data>

主要内容['10,000-15,0000','2,500'-'3,000','5,000-7,500']这会给你一个错误。。。但是例如:arr = ['10000-15000','16000-20000','2500-3000']#可以使用下面的行进行排序arr = sorted(arr)

最新更新