获取属性错误:“地图”对象没有属性“排序”

Posted

技术标签:

【中文标题】获取属性错误:“地图”对象没有属性“排序”【英文标题】:Getting attribute error: 'map' object has no attribute 'sort' 【发布时间】:2016-01-16 21:14:39 【问题描述】:

我正在尝试按升序对数组进行排序。但是代码出现以下错误:

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

帮帮我...

    ERROR : AttributeError: 'map' object has no attribute 'sort'

【问题讨论】:

错误信息是什么? 这与问题无关,但split()(即不带参数)是比split(' ')更好的选择。 【参考方案1】:

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

如果要对结果进行就地排序,则需要先将其转换为列表(不推荐)。

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

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

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

【讨论】:

谢谢.. 成功了...你能推荐一些有用的网站,我可以从中学习python吗...? 天哪,写一个简单的map...

以上是关于获取属性错误:“地图”对象没有属性“排序”的主要内容,如果未能解决你的问题,请参考以下文章

Spark AttributeError:“SparkContext”对象没有属性“地图”

使用 sender() 获取按钮文本总是返回错误 — 'NoneType' 对象没有属性 'text'

获取属性错误:类型对象“Level_2_Headings”没有属性“祖先”(GAE 数据存储)

Kivy'对象没有属性'错误

使用 Spotipy 获取当前正在播放的歌曲会出现错误:“'Spotify' 对象没有属性 'currently_playing'”

如何在另一个文本输入中获取选定的文本。出现错误“'ScreenManager' 对象没有属性 'widget_1'”