I 'm cercando di fare:Perché un python dict.update() non restituisce l'oggetto?
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
Ma se sentiva davvero ingombrante nella funzione, e avrei preferito fare:
return self.add_award({
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}.update(award_dict), siteAlias, alias).award
Perché non aggiorna restituire l'oggetto in modo da poter catena?
JQuery fa questo per fare concatenamento. Perché non è accettabile in Python?
Bene, questo creerà un altro dizionario dopo che dovevo fare un. Volevo creare un dict, quindi aggiungere un gruppo di altri valori e quindi assegnarlo a una funzione. –
@Paul, ed è esattamente quello che stai facendo - con due affermazioni (molto più leggibili del modo in cui nidificavi desiderato) che per te "sono state davvero ingombranti". Modifica la mia risposta per mostrare come evitare di creare 'a' del tutto, btw, –
' dict (a, ** award_dict) 'solo sassi ed era esattamente quello che volevo - grazie per questo! (stava usando 'dict (d1.items() + d2.items()) 'before) –