usiłuję zrobić:Dlaczego program python dict.update() nie zwraca obiektu?
award_dict = {
"url" : "http://facebook.com",
"imageurl" : "http://farm4.static.flickr.com/3431/3939267074_feb9eb19b1_o.png",
"count" : 1,
}
def award(name, count, points, desc_string, my_size, parent) :
if my_size > count :
a = {
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}
a.update(award_dict)
return self.add_award(a, siteAlias, alias).award
Ale jeśli się naprawdę uciążliwe w funkcji, a ja bym raczej zrobić:
return self.add_award({
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}.update(award_dict), siteAlias, alias).award
Dlaczego nie aktualizuje zwrócić przedmiot, dzięki czemu można łańcuch?
JQuery robi to, aby zrobić łańcuch. Dlaczego nie jest to dopuszczalne w pythonie?
Cóż, to stworzy kolejny słownik po tym, jak będę musiał zrobić. Chciałem stworzyć dykt, a następnie dodać kilka innych wartości, a następnie nadać mu funkcję. –
@Paul, i to jest dokładnie to, co robisz - z dwoma oświadczeniami (o wiele bardziej czytelnymi niż w sposób, w jaki chciałeś), które dla Ciebie "wydawały się naprawdę uciążliwe". Edytuję moją odpowiedź, aby pokazać, jak uniknąć tworzenia 'a' w ogóle, btw, –
' dict (a, ** award_dict) 'po prostu kołysze i było dokładnie tym, czego chciałem - dziękuję za to! (używał 'dict (d1.items() + d2.items()) 'before) –