当我尝试简单地整理出一些数字时,我在 Python 中使用此代码遇到以下问题,这是代码。array = input().split(" ")between_numbers = " <= ".join(sorted(array))print(between_numbers)有了这个给定的输入:-100 500 36724 -673 874 37 36 324 627 82 76537 -772 -936 2467 2365 -3763我懂了:-100 <= -3763 <= -673 <= -772 <= -936 <= 2365 <= 2467 <= 324 <= 36 <= 36724 <= 37 <= 500 <= 627 <= 76537 <= 82 <= 874而不是这个:-3763 <= -936 <= -772 <= -673 <= -100 <= 36 <= 37 <= 82 <= 324 <= 500 <= 627 <= 874 <= 2365 <= 2467 <= 36724 <= 76537有人能告诉我这是为什么以及如何解决吗?
3 回答
米脂
TA贡献1836条经验 获得超3个赞
split给你一个字符串列表。默认情况下,字符串按字典顺序进行比较:
"a" < "aardvark" < "b" "1" < "10" < "2"
如果您有一个numbers列表,或者您指定要int转换的排序键,则sorted可以执行您想要的操作。因此,要么
array = [int(x) for x in input().split(" ")]或者
between_numbers = " <= ".join(sorted(array, key=int))
元芳怎么了
TA贡献1798条经验 获得超7个赞
将每个数字转换为整数然后排序
array = [int(i) for i in input.split(' ')]您将根据数字而不是字符串获得排序列表(这在您的情况下发生)
添加回答
举报
0/150
提交
取消
