web-dev-qa-db-ja.com

属性エラーの取得: 'map'オブジェクトに属性 'sort'がありません

配列を昇順で並べ替えようとしています。しかし、コードで上記のエラーが発生します:

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

ここで私を助けてください...

    ERROR : AttributeError: 'map' object has no attribute 'sort'
11
Sushil Chaskar

In python 3 mapはリストを返しません。代わりに、イテレータオブジェクトを返します。これは、sortlistの属性であるためです。オブジェクト、属性エラーが発生しています。

結果をその場で並べ替える場合は、最初にリストに変換する必要があります(これはお勧めしません)。

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

ただし、より良いアプローチとして、反復可能を受け入れてソートされたリストを返すsorted関数を使用して、結果を元の名前に再割り当てすることができます(推奨)。

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