Programa de Python para convertir valores de diccionario a strings

Dado un diccionario con tipos de datos mixtos como valores, la tarea es escribir un programa de Python para convertir strings analizadas por diferentes delimitaciones.

Ejemplos:

Entrada: test_dict = {‘Gfg’: 4, ‘is’: «1», ‘best’: [8, 10], ‘geek’: (10, 11, 2)}, list_delim, tuple_delim = ‘-‘, ‘^’

Salida: {‘Gfg’: ‘4’, ‘es’: ‘1’, ‘mejor’: ‘8-10’, ‘geek’: ’10^11^2′}

Explicación: los elementos de la lista están unidos por -, las tuplas por el símbolo ^.

Entrada: test_dict = {‘Gfg’: 4, ‘is’: «1», ‘best’: [8, 10], ‘geek’: (10, 11, 2)}, list_delim, tuple_delim = ‘*’, ‘,’

Salida: {‘Gfg’: ‘4’, ‘es’: ‘1’, ‘mejor’: ‘8*10’, ‘geek’: ‘10,11,2’}

Explicación: los elementos de la lista se unen con *, las tuplas con el símbolo .

Ejemplo: Usar loop + isinstance() + join()

En esto, verificamos todos los tipos de datos de valores usando isinstance() y los unimos usando join() para delimitaciones de diferencias, convirtiéndolas en strings analizadas.

Python3

# Python3 code to demonstrate working of
# Convert dictionary values to Strings
# Using loop + isinstance()
  
# initializing dictionary
test_dict = {'Gfg' : 4,
             'is' : "1",
             'best' : [8, 10],
             'geek' : (10, 11, 2)}
               
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing delims
list_delim, tuple_delim = '-', '^'
  
res = dict()
for sub in test_dict:
      
    # checking data types
    if isinstance(test_dict[sub], list):
        res[sub] = list_delim.join([str(ele) for ele in test_dict[sub]])
    elif isinstance(test_dict[sub], tuple):
        res[sub] = tuple_delim.join(list([str(ele) for ele in test_dict[sub]]))
    else:
      res[sub] = str(test_dict[sub])
  
# printing result
print("The converted dictionary : " + str(res))

Producción:

El diccionario original es: {‘Gfg’: 4, ‘is’: ‘1’, ‘best’: [8, 10], ‘geek’: (10, 11, 2)}

El diccionario convertido: {‘Gfg’: ‘4’, ‘is’: ‘1’, ‘best’: ‘8-10’, ‘geek’: ’10^11^2′}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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