Python 如何用空格对列表进行排序

Python 如何用空格对列表进行排序,python,python-3.x,Python,Python 3.x,我正在尝试用空格对列表进行排序 像 但我犯了个错误 代码: strength = int(input()) strength_s = strength.sort() print(strength_s) 从用户处获取带有空格的输入: strength = list(map(int, input().strip().split())) 对它们进行排序: strength.sort() 并打印: print(strength) python中的input函数将整行返回为str 因此,如果输入以

我正在尝试用空格对列表进行排序 像

但我犯了个错误

代码:

strength = int(input())
strength_s = strength.sort()
print(strength_s)

从用户处获取带有空格的输入:

strength = list(map(int, input().strip().split()))
对它们进行排序:

strength.sort()
并打印:

print(strength)

python中的
input
函数将整行返回为
str

因此,如果输入以空格分隔的整数列表,
input
函数将以字符串形式返回整行

>a=input()
1 2 3 4 5
>>>类型(a)
>>>a
'1 2 3 4 5'
如果要将其保存为整数列表,则必须遵循以下过程

>a=input()
1 2 3 4 5
>>>a
'1 2 3 4 5'
现在,我们需要分离字符串中的数字,即拆分字符串

>>a=a.strip().split()#.strip()只需去除尾随空格即可
>>>a
['1', '2', '3', '4', '5']
我们现在有一个
列表
字符串
,我们必须将其转换为
列表
整数
。我们必须为
列表的每个元素调用
int()
,最好的方法是使用
map
函数

>a=map(int,a)
>>>a
>>>a=list(a)#map()返回作为生成器的映射对象,必须将其转换为列表
>>>a
[1, 2, 3, 4, 5]
我们终于有了一个
列表
ints

整个过程主要在一行
python
code:

>a=list(映射(int,input().strip().split())
1 2 3 4 5 6
>>>a
[1, 2, 3, 4, 5, 6]

首先,
我的列表=[20 10 50 400 100 500]
既不是列表,也不是表示列表的正确方式。 您可以使用
my_list=[20,10,50400100500]
表示一个列表
我假设我的列表是一个字符串。然后将字符串拆分为一个列表,将列表转换为整数,然后对其进行排序,如下所示

my_list = "20 10 50 400 100 500"
li = [int(item) for item in my_list.split(' ')]
print(sorted(li))
#[10, 20, 50, 100, 400, 500]
为了使您的原始代码正常工作,我们将

strength = input()
strength_li = [int(item) for item in strength.split(' ')]
print(sorted(strength_li))
输出结果如下所示

10 20 40 30 60
#[10, 20, 30, 40, 60]

尝试将第一行更改为
strength=map(int,input().split())
可能重复的
strength = input()
strength_li = [int(item) for item in strength.split(' ')]
print(sorted(strength_li))
10 20 40 30 60
#[10, 20, 30, 40, 60]