defaultdict の値であるリストにオブジェクトを追加しようとしています:
dic = defaultdict(list)
groups = ["A","B","C","D"]
# data_list is a list of objects from a self-defined class.
# Among others, they have an attribute called mygroup
for entry in data_list:
for mygroup in groups:
if entry.mygroup == mygroup:
dic[mygroup] = dic[mygroup].append(entry)
したがって、グループ名をキーとして、関連するすべてのオブジェクトのリストを値として使用して、このディクショナリ内の 1 つのグループに属するすべてのエントリを収集したいと考えています。
しかし、上記のコードは AttributeError を発生させます:
dic[mygroup] = dic[mygroup].append(entry)
AttributeError: 'NoneType' object has no attribute 'append'
何らかの理由で、値がリストとして認識されないように見えますか?
辞書または defaultdict で値として使用されるリストに追加する方法はありますか? (以前に通常の辞書でこれを試したことがありますが、同じエラーが発生しました。)
助けてくれてありがとう!