Python | Convertir tupla en diccionario de pares adyacentes

A veces, mientras trabajamos con registros, podemos tener un problema en el que tenemos datos y necesitamos convertirlos al diccionario clave-valor usando elementos adyacentes. Este problema puede tener aplicación en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: usar dict()+ comprensión de diccionario + segmentación
Las funcionalidades anteriores se pueden usar para resolver este problema. En esto, solo cortamos partes alternas de la tupla y asignamos los valores correspondientes usando la comprensión del diccionario. El resultado se convierte a diccionario usando dict().

# Python3 code to demonstrate working of
# Convert tuple to adjacent pair dictionary
# using dict() + dictionary comprehension + slicing
  
# initialize tuple
test_tup = (1, 5, 7, 10, 13, 5)
  
# printing original tuple
print("The original tuple : " + str(test_tup))
  
# Convert tuple to adjacent pair dictionary
# using dict() + dictionary comprehension + slicing
res = dict(test_tup[idx : idx + 2] for idx in range(0, len(test_tup), 2))
  
# printing result
print("Dictionary converted tuple : " + str(res))
Producción :

The original tuple : (1, 5, 7, 10, 13, 5)
Dictionary converted tuple : {1: 5, 13: 5, 7: 10}

Método n.º 2: usar dict() + zip()+ rebanar
Esto realiza esta tarea de manera similar al método anterior. La diferencia es que utiliza zip() en lugar de la comprensión del diccionario para realizar la tarea de emparejar el par clave-valor.

# Python3 code to demonstrate working of
# Convert tuple to adjacent pair dictionary
# using dict() + zip() + slicing
  
# initialize tuple
test_tup = (1, 5, 7, 10, 13, 5)
  
# printing original tuple
print("The original tuple : " + str(test_tup))
  
# Convert tuple to adjacent pair dictionary
# using dict() + zip() + slicing
res = dict(zip(test_tup[::2], test_tup[1::2]))
  
# printing result
print("Dictionary converted tuple : " + str(res))
Producción :

The original tuple : (1, 5, 7, 10, 13, 5)
Dictionary converted tuple : {1: 5, 13: 5, 7: 10}

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 *