python 使用.join进行数据排序遇到了问题。求解答

将数据排序 (6 分)
输入若干个正整数,升序排序后输出。

输入格式:
在一行中输入若干个数,以空格分隔。

输出格式:
输出升序排序后的数,以空格分隔,最后一个数后也有空格

输入样例:
在这里给出一组输入。例如:

4 5 67 3 99 2 7
输出样例:
在这里给出相应的输出。例如:

2 3 4 5 7 67 99

源码:

m=input().split()
m=" ".join(sorted(m))
print(m)

运行结果:

D:\python\python.exe C:/Users/25090/PycharmProjects/pythonProject/venv/1.py
4 5 67 3 99 2 7
2 3 4 5 67 7 99

进程已结束,退出代码0

为什么输出结果并没有按大小来排序?(67 7)

因为是按字符顺序排序的。。。

m=input().split()  # 4 5 67 3 99 2 7
m=" ".join(str(i) for i in sorted(int(i) for i in m))
print(m)  # 2 3 4 5 7 67 99