我觉得说明我的问题会更好,所以这就是:
我有这个清单:
['1.2.3', '1.2.4', '10.3', '1.3', '12', '14.12.123', '4', '6']
并希望它像这样排序:
['1.2.3', '1.2.4', '1.3', '4', '6', '10.3', '12', '14.12.123']
正如你所看到的,我想先按第一个数字排序,然后按第二个数字排序,依此类推。此外,列表项中可能存在无限数量的数字(例如'1.2.3.4.5.6'
等等)
我尝试了通常的排序方法无济于事,在互联网上找不到类似的情况来帮助我。
感谢您的帮助。
答案 0 :(得分:2)
这应该这样做:
sorted(l, key=lambda k: [int(num) for num in k.split('.')])