需要订购我在repl.it程序中创建的排行榜。
[排序时,当前似乎是根据每个条目的第一位来排序,因此所有单个位的条目都正确排序,但是所有两位数字都仅按第一位排序,因此例如,它以2以下的顺序排序11读取为1。
有什么想法吗?
由于您没有显示任何代码,所以我不得不做出有根据的猜测,即您存储的值要以字符串而不是整数进行排序。这样,在对字符串进行排序时,它们将按char进行char排序。如果您希望它们按数值排序,则将它们存储为字符串形式的整数,或者至少告诉您的排序函数将它们视为整数。
scores = ["23", "3", "111"]
print("string sort", sorted(scores))
print("int sort", sorted(scores, key=int))
输出
string sort ['111', '23', '3']
int sort ['3', '23', '111']
但是为了将来,请分享您的代码或至少一个重现您问题的最小示例