在书上看到一段代码:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sorted(a, key=str))
运行结果是:
让我有点疑惑,然后了解了一下,在Python中,`sorted()`函数是一个内置函数,用于对可迭代对象进行排序。它接受一个可选参数`key`,该参数是一个函数,用于指定如何对输入进行排序。 在这个代码中,`key=str`意味着排序的依据是每个元素的字符串表示。
因此,`sorted()`函数会将列表`a`中的元素转换为字符串,然后才进行排序。
对于整数列表`a`,元素0到9的字符串表示是"0"到"9",元素10的字符串表示是"10"
注意:
在ASCII码中,字符串的比较:‘1’>‘10’>'2'