A veces, mientras trabajamos en el dominio del desarrollo web o en la programación competitiva, necesitamos asignar una identificación única a cada uno de los diferentes valores para rastrear su ocurrencia para el conteo o cualquier otro caso de uso requerido. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar defaultdict
+ lambda + comprensión de lista
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea en particular. La función defaultdict realiza la tarea principal de asignar Ids usando la función lambda, asigna el número actual de claves a cada nueva clave. La lista de comprensión se utiliza en una etapa posterior para formar la lista.
# Python3 code to demonstrate # assigning ids to values # using list comprehension + defaultdict + lambda from collections import defaultdict # initializing list test_list = [5, 6, 7, 6, 5, 1] # printing original list print("The original list : " + str(test_list)) # using list comprehension + defaultdict + lambda # assigning ids to values temp = defaultdict(lambda: len(temp)) res = [temp[ele] for ele in test_list] # print result print("The ids of assigned values is : " + str(res))
The original list : [5, 6, 7, 6, 5, 1] The ids of assigned values is : [0, 1, 2, 1, 0, 3]
Método #2: Usar OrderedDict.fromkeys() + enumerate()
+ comprensión de lista
Este método realiza una tarea similar al método anterior. En esta funciónorderedDict.fromkeys realiza la función para eliminar los duplicados y la función de enumeración nos ayuda a obtener los índices de los valores para mapearlos juntos.
# Python3 code to demonstrate # assigning ids to values using # list comprehension + OrderedDict.fromkeys() + enumerate() from collections import OrderedDict # initializing list test_list = [5, 6, 7, 6, 5, 1] # printing original list print("The original list : " + str(test_list)) # using list comprehension + OrderedDict.fromkeys() + enumerate() # assigning ids to values res = [{val : key for key, val in enumerate( OrderedDict.fromkeys(test_list))} [ele] for ele in test_list] # print result print("The ids of assigned values is : " + str(res))
The original list : [5, 6, 7, 6, 5, 1] The ids of assigned values is : [0, 1, 2, 1, 0, 3]
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