作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是我的代码:
def SortingBigIntegers(arr):
arr.sort(key = lambda x: (len(x), x))
arr = ["54", "724523015759812365462",
"870112101220845", "8723","6","9","3"]
SortingBigIntegers(arr)
print " ".join(arr)
在此代码中如何对相同长度的字符串进行排序?
最佳答案
键
是:
lambda x: (len(x), x)
所以这意味着它被转换为一个元组。元组首先按第一个元素排序,然后按第二个元素排序。因此,如果两个字符串的长度 相等,它将按字符串对字符串进行排序。字符串在 Python 中按字典顺序排序。如果字符串是整数(没有小数点,并且没有前导零等)并且它们具有相同的长度,那么它们的排序就像我们对它们进行排序一样数字 .
如果值仍然在两个标准上相同,顺序将与原始顺序相同:Python 中的排序稳定.
也就是说,在 python-3.x , int
s 可以处理任意大小。所以你不必使用字符串,你可以简单地使用 int
s。
关于python - 大排序 : How are same-length strings sorted using lambda with key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45534440/
我是一名优秀的程序员,十分优秀!