No estoy tratando de hacer:¿Por qué un pitton dict.update() no devuelve el objeto?
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
Pero si se sentía muy incómodo en la función, y me hubiera gustado hacer:
return self.add_award({
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}.update(award_dict), siteAlias, alias).award
¿Por qué no se actualiza devolver el objeto para que pueda ¿cadena?
JQuery hace esto para encadenar. ¿Por qué no es aceptable en Python?
Bueno, eso creará otro diccionario después de que tuve que hacer un. Quería crear un dict, y luego agregar muchos otros valores y luego darle una función. –
@Paul, y eso es exactamente lo que está haciendo, con dos afirmaciones (mucho más legibles que la forma anidada que quería) que para usted "se sentía realmente engorroso". La edición de mi respuesta para mostrar cómo evitar la creación de 'a' por completo, por cierto, –
' dict (a, ** award_dict) 'solo me gustó y era exactamente lo que quería, ¡gracias por eso! (estaba usando 'dict (d1.items() + d2.items()) 'before) –