获取属性错误:'map'对象没有属性'sort'

Sus*_*kar 10 python sorting iterable python-3.x

我试图按顺序排序数组.但是代码的错误高于:

a=[]
a=map(int, input().split(' '))
a.sort()
print (a)
Run Code Online (Sandbox Code Playgroud)

帮帮我吧

Kas*_*mvd 15

在python 3 map中不返回列表.相反,它返回一个迭代器对象,因为它sort是object的一个属性list,所以你得到一个属性错误.

如果要对结果进行就地排序,则需要先将其转换为列表(不建议这样做).

a = list(map(int, input().split(' ')))
a.sort()
Run Code Online (Sandbox Code Playgroud)

但是,作为一种更好的方法,您可以使用sorted接受iterable并返回排序列表的函数,然后将结果重新分配给原始名称(建议):

a = sorted(map(int, input().split(' ')))
Run Code Online (Sandbox Code Playgroud)