如何对数字字符串的python列表进行排序

我正在尝试对包含数字的字符串列表进行排序


a = ["1099.0","9049.0"]

a.sort()

a

['1099.0', '9049.0']


b = ["949.0","1099.0"]

b.sort()    


b

['1099.0', '949.0']


a

['1099.0', '9049.0']

但是列表b是排序而不是列表a


慕哥9229398
浏览 1518回答 3
3回答

烙印99

您要基于float值(而不是字符串值)进行排序,因此请尝试:>>> b = ["949.0","1099.0"]>>> b.sort(key=float)>>> b['949.0', '1099.0']

不负相思意

在排序中使用lambda将其转换为浮点,然后正确排序:a = sorted(a, key=lambda x: float(x))因此,您将它们保留为字符串,但按值而不是按字典顺序排序
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python