Python | ‘list’ object has no attribute ‘sorted’ エラーの原因と解決策

2023-02-14Python エラー,Python

Python | 'list’ object has no attribute 'sorted’ エラーの原因と解決策

Pythonの実行時に発生するエラー「’xxx’ object has no attribute 'sorted’」の原因と解決策について紹介しています。

AttributeError: 'list’ object has no attribute 'sorted’
属性エラー: 「list」オブジェクトには「sorted」属性がありません。

確認環境

Windows11 ローカル
Python python-3.11.1

'xxx’ object has no attribute 'sorted’ エラーの原因

「’xxx’ object has no attribute 'sorted’」というエラーが発生する原因は多くの場合、sorted()関数をsort()メソッドと同じように記述してしまった簡単な記述ミスである可能性が高いです。

例えば以下のテストコードの場合、このエラーが出力されます。

data = [1, 3, 4, 2]
data.sorted()

# 'list' object has no attribute 'sorted'

'xxx’ object has no attribute 'sorted’ エラーの解決策

「’xxx’ object has no attribute 'sorted’」エラーの問題を解決するには以下の方法が考えられます。

sorted()は関数で、返り値を持っています。
また、対象とするリストは第一引数にて指定します。

data = [5, 1, 3, 4, 2]
data2 = sorted(data)

print(data2)
# [1, 2, 3, 4, 5]

直接、元のリストに並び替えを実行する場合はsort()メソッドを利用する事で問題を解決できます。

data = [5, 1, 3, 4, 2]
data.sort()

print(data)
# [1, 2, 3, 4, 5]