AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません

Shihab Sikder 2023年6月21日
  1. AttributeError: 'dict' object has no attribute 'append' in Python
  2. Python で AttributeError: 'dict' object has no attribute 'append' を処理する
AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません

dict はリストとは異なるハッシュマップを使ったデータ構造です。 リストデータ構造にはappend()関数がありますが、append()関数はありません。

AttributeError: 'dict' object has no attribute 'append' in Python

ディクショナリはその中にリストを保持できます。 辞書を直接追加することはできませんが、辞書内にリストがあれば簡単に追加できます。

例えば、

>>> dict = {}
>>> dict["numbers"]=[1,2,3]
>>> dict["numbers"]
[1, 2, 3]
>>> dict["numbers"].append(4)
>>> dict["numbers"]
[1, 2, 3, 4]

ここで、numbers キーは値としてリストを持っています。 これを追加できますが、dict を追加したいとしましょう。

次のエラーが表示されます。

>>> dict = {}
>>> dict["numbers"]=[1,2,3]
>>> dict.append(12)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'append'

Python で AttributeError: 'dict' object has no attribute 'append' を処理する

値は、タプル、リスト、文字列、または別の辞書など、何でもかまいません。 このエラーを防ぐために、辞書内の特定のキーの値の型を確認できます。

このために、キーが辞書内に存在するかどうかを評価する必要があります。

以下の例を見てみましょう。

dict = {}

dict["nums"] = [1, 2, 3]
dict["tuple"] = (1, 2, 3)
dict["name"] = "Alex"

if dict.get("name", False):
    if type(dict["name"]) is list:
        dict["name"].append("Another Name")
    else:
        print("The data type is not a list")
else:
    print("This key isn't valid")

出力:

The data type is not a list

前のエラーのようなエラーが発生する可能性がありますが、ここでは辞書のキーを評価しています。 次に、値がリストかどうかを確認します。

その後、リストを追加しています。

Python ディクショナリの詳細については、この ブログ をお読みください。

著者: Shihab Sikder
Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

関連記事 - Python Error