排序字符串列表,因为它们是整数

时间:2018-02-08 16:35:49

标签: python sorting

我有一个基于值排序列表的简单问题。 我想订购一个字符串列表,因为它们是整数,并考虑只排序从第二个位置开始的字符。

举个例子,我有这个清单:

L = ['X102', 'X201', 'X805', 'X111', 'X032', 'X155', 'X0123', 'X1113', 'X881', 'X1022']

如果我使用sorted(L)对其进行排序,我会得到:

['X0123', 'X032', 'X102', 'X1022', 'X111', 'X1113', 'X155', 'X201', 'X805', 'X881']

我的努力是只考虑“整数”对列表进行排序,所以只是数字在'X'之后才能使结果看起来像这样:

SORTED_L = ['X032', 'X102', 'X111', 'X0123', 'X155', 'X201', 'X805', 'X881', 'X1022', 'X1113']

1 个答案:

答案 0 :(得分:3)

您可以使用lambda函数指定自定义排序键:

SORTED_L = sorted(L, key=lambda x: int(x.replace('X', ''))

在这种情况下,对于L中的每个值,lambda将删除“X”并转换为int

相关问题