2012-09-07 17 views
7

listelenecek eklenecek anahtar olarak ve ilgili tüm nesnelerin bir değeri olarak adlandırın.Bir defaultdict içinde değerlerdir listelere nesneleri eklemek çalışıyorum defaultdict

Fakat yukarıdaki kod bir AttributeError yükseltir:

dic[mygroup] = dic[mygroup].append(entry) 
AttributeError: 'NoneType' object has no attribute 'append' 

Yani nedense benziyor, değerler listeleri gibi tanınmamaktadır?

Bir sözlükte veya öntanımlı olarak değer olarak kullanılan listelere eklenecek bir yol var mı? (Bunu daha önce normal bir dict ile denedim ve aynı hatayı aldım.)

Yardımlarınız için teşekkürler! Lastalda

cevap

14

herhangi listede append kullandıkları aynı yolu

if entry.mygroup == mygroup: 
    dic[mygroup].append(entry) 

deneyin. append hiçbir şey döndürmez, bu nedenle sonucu dic[mygroup] olarak atadığınızda, None olur. Bir dahaki sefere eklemeyi denediğinizde, hatayı alırsınız.

İlgili konular