获取属性错误:“地图”对象没有属性“排序”
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
不返回列表。相反,它返回一个迭代器对象,并且由于 sort
是 list
对象的一个属性,因此您会遇到属性错误。
如果要对结果进行就地排序,则需要先将其转换为列表(不推荐)。
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 数据存储)
使用 Spotipy 获取当前正在播放的歌曲会出现错误:“'Spotify' 对象没有属性 'currently_playing'”