On 30/04/10 13:21, Francisco Javier Cuadrado wrote:

d = {'nombre:'pepe', 'apellidos':'garcia lopez', 'edad':30,
'profesión':'futbolista'}

Del cual quiero obtener otro diccionario que contenga un subconjunto
de las claves/valores del anterior, por ejemplo quedarme sólo con el
nombre y los apellidos:

dic_resultante = {'nombre':'pepe', 'apellidos':'garcia lopez'}

Puedes usar una expresión generador + constructor dict():

def dict_filter_keys(d, keys):
    return dict((key, d[key]) for key in keys)

d = {'nombre' :'pepe', 'apellidos':'garcia lopez', 'edad':30,
    'profesion':'futbolista'}

print dict_filter_keys(d, ["nombre", "edad"])
# {'edad': 30, 'nombre': 'pepe'}

Siempre que hagas "inicialización a vacío ([], {}) + bucle + añadir valores" estás implementando una solución no-funcional, algo que por norma general hay que evitar.
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a