Python – Diccionario de subíndices

A veces, mientras trabajamos con datos en Python, podemos tener un problema en el que necesitamos usar una versión de números con subíndices en lugar de las normales. Para esto, tener un diccionario que mapee el número con su versión en subíndice tiene buena utilidad. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada: test_str = “012345”
Salida: {‘0’: ‘?’, ‘1’: ‘?’, ‘2’: ‘?’, ‘3’: ‘?’, ‘4’: ‘?’, ‘5’: ‘?’}

Entrada: test_str = “0”
Salida: {‘0’: ‘?’}

Método #1: Usar loop + ord()
Esta es la forma de fuerza bruta en la que realizamos esta tarea. En esto, iteramos a través de los números que necesitamos para subíndices y construimos el valor del subíndice usando ord() y su valor binario. Funciona en Python 3.7 +.

# Python3 code to demonstrate working of 
# Subscript Dictionary
# Using loop + ord()
  
# initializing string
test_str = "0123456789"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing Subscript number value
K = u'\u2080'
  
# Subscript Dictionary
# Using loop + ord()
res = {}
for ele in test_str:
    res[ele] = K
    K = chr(ord(K) + 1)
  
# printing result 
print("The split string is : " + str(res)) 
Producción :

La string original es: 0123456789
La string dividida es: {‘7’: ‘?’, ‘4’: ‘?’, ‘2’: ‘?’, ‘3’: ‘?’, ‘5’: ‘? ‘, ‘8’: ‘?’, ‘1’: ‘?’, ‘6’: ‘?’, ‘0’: ‘?’, ‘9’: ‘?’}

Método #2: Uso de la comprensión del diccionario
Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos una tarea similar a la anterior, solo empleamos una sola línea usando la comprensión. Funciona en Python 3.7 +.

# Python3 code to demonstrate working of 
# Subscript Dictionary
# Using Dictionary comprehension
  
# initializing string
test_str = "0123456789"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing Subscript number value
K = u'\u2080'
  
# Subscript Dictionary
# Using Dictionary comprehension
res = {ele : chr(ord(K) + 1) for ele in test_str}
  
# printing result 
print("The split string is : " + str(res)) 
Producción :

La string original es: 0123456789
La string dividida es: {‘7’: ‘?’, ‘4’: ‘?’, ‘2’: ‘?’, ‘3’: ‘?’, ‘5’: ‘? ‘, ‘8’: ‘?’, ‘1’: ‘?’, ‘6’: ‘?’, ‘0’: ‘?’, ‘9’: ‘?’}

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 *