按整数对字符串列表排序

2024-06-24 13:10:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的问题,就是根据值对列表进行排序。 我想对字符串列表进行排序,因为它们是整数,并考虑仅对从第二个位置开始的字符进行排序。你知道吗

举个例子,我有以下清单:

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']

Tags: 字符串列表排序整数字符x102x032x881
1条回答
网友
1楼 · 发布于 2024-06-24 13:10:23

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

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

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

相关问题 更多 >