Saltar al contenido

como convertir string valores de un diccionario, en tipos de datos int/float?

Agradeceríamos tu ayuda para difundir nuestros artículos con relación a las ciencias de la computación.

Solución:

Tengo que amar las listas de comprensión.

[dict([a, int(x)] for a, x in b.items()) for b in list]

(observación: para el código de Python 2 solo, puede usar “iteritems” en lugar de “items”)

for sub in the_list:
    for key in sub:
        sub[key] = int(sub[key])

Le da un casting como un int en lugar de como un string.

Si ese es su formato exacto, puede revisar la lista y modificar los diccionarios.

for item in list_of_dicts:
    for key, value in item.iteritems():
        try:
            item[key] = int(value)
        except ValueError:
            item[key] = float(value)

Si tiene algo más general, tendrá que hacer algún tipo de actualización recursiva en el diccionario. Compruebe si el elemento es un diccionario, si lo es, use la actualización recursiva. Si se puede convertir en float o int, conviértalo y modifique el valor en el diccionario. No hay una función integrada para esto y puede ser bastante feo (y no pitónico, ya que generalmente requiere llamar a isinstance).

Reseñas y calificaciones

Si te animas, tienes la habilidad dejar un tutorial acerca de qué le añadirías a esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *