in

Mapeo de valores en un diccionario de Python

apple touch icon@2

Si bien mi respuesta original perdió el punto (al tratar de resolver este problema con la solución para acceder a la clave en la fábrica de defaultdict), la he reelaborado para proponer una solución real a la presente pregunta.

Aquí está:

class walkableDict(dict):
  def walk(self, callback):
    try:
      for key in self:
        self[key] = callback(self[key])
    except TypeError:
      return False
    return True

Uso:

>>> d = walkableDict({ k1: v1, k2: v2 ... })
>>> d.walk(f)

La idea es subclasificar el dict original para darle la funcionalidad deseada: «mapear» una función sobre todos los valores.

El punto positivo es que este diccionario se puede utilizar para almacenar los datos originales como si fuera un dict, mientras transforma cualquier dato a pedido con una devolución de llamada.

Por supuesto, siéntase libre de nombrar la clase y la función de la manera que desee (el nombre elegido en esta respuesta está inspirado en PHP array_walk() función).

Nota: Ni el tryexcept bloque ni el return Las declaraciones son obligatorias para la funcionalidad, están ahí para imitar aún más el comportamiento de PHP array_walk.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Método Java.lang.System.currentTimeMillis ()

gfg 200x200 min

Python | Función random.sample () – GeeksforGeeks