AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません
Shihab Sikder
2023年6月21日
-
AttributeError: 'dict' object has no attribute 'append'
in Python -
Python で
AttributeError: 'dict' object has no attribute '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