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))
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))
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