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

时间:2015-10-18 14:12:23

标签: python python-3.x sorting iterable

我正在尝试按递增顺序对数组进行排序。但是代码的错误高于:

a=[]
a=map(int, input().split(' '))
a.sort()
print (a)

在这里帮帮我..

1 个答案:

答案 0 :(得分:12)

在python 3 map中没有返回列表。相反,它返回一个迭代器对象,由于sortlist对象的属性,因此您会收到属性错误。

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

a = list(map(int, input().split(' ')))
a.sort()

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

a = sorted(map(int, input().split(' ')))