я пытаюсь сделать:Почему python dict.update() не возвращает объект?
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
Но если чувствовал себя громоздким в функции, и я бы скорее сделал:
return self.add_award({
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}.update(award_dict), siteAlias, alias).award
Почему не обновляется возвращать объект, так что вы можете цепь?
JQuery делает это, чтобы сделать цепочку. Почему это не приемлемо в python?
Ну, это создаст еще один словарь после того, как я должен был сделать. Я хотел создать dict, а затем добавить кучу других значений, а затем передать его функции. –
@Paul, и это именно то, что вы делаете - с двумя утверждениями (гораздо более удобочитаемыми, чем вложенные вами пути), которые вам «по-настоящему громоздки». Редактирование моего ответа, чтобы показать, как избежать создания 'a' в целом, btw, –
' dict (a, ** award_dict) 'просто скалы и было именно то, что я хотел - спасибо за это! (использовал 'dict (d1.items() + d2.items()) 'before) –