Python对最后一位数字进行排序?

时间:2018-09-14 22:29:28

标签: python sorting

我的问题是我有inp=[1,52,234,65,87,57,96,0,3],输出应为output=[0,1,52,3,234,65,96,87,57]。如果最后一位数字相同,则按输入时的顺序保留它们。

inp=[1,52,234,65,87,57,96,0,3]
output=[0,1,52,3,234,65,96,87,57]

如何对最后一位数字进行排序?

2 个答案:

答案 0 :(得分:1)

数字的最后一位是除以10的余数:

sorted(inp, key=lambda x: x % 10)
#[0, 1, 52, 3, 234, 65, 96, 87, 57]

答案 1 :(得分:0)

您可以将sorted()与关键字参数key一起使用:

sort = sorted(inp,
              key=lambda x: str(x)[-1])

这将获取值,将其转换为字符串以从中获取-1索引,然后可以对该值进行比较和排序。 您不需要将其强制转换为整数。