在python中对复杂的字符串列表进行排序

时间:2016-08-18 10:18:04

标签: python arrays list sorting

我觉得说明我的问题会更好,所以这就是:

我有这个清单:

['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'等等)

我尝试了通常的排序方法无济于事,在互联网上找不到类似的情况来帮助我。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这应该这样做:

sorted(l, key=lambda k: [int(num) for num in k.split('.')])