A veces, necesitamos realizar la tarea convencional de agrupar algunos elementos similares en una lista separada y así formar una lista de lista. Esto también puede ayudar a contar y también obtener el orden ordenado de los elementos. Vamos a discutir ciertas formas en que esto se puede hacer.
Método n.º 1: usarcollections.Counter()
esta función en particular puede resultar bastante útil para realizar esta tarea en particular, ya que cuenta la frecuencia de los elementos en la lista y luego podemos emparejarlos usando la lista de comprensión.
# Python3 code to demonstrate # grouping like elements as list # using collections.Counter() import collections # initializing list test_list = [1, 3, 4, 2, 1, 3, 4, 2, 3, 4, 1] # printing original list print("The original list : " + str(test_list)) # using collections.Counter() # grouping like elements as list temp = collections.Counter(test_list) res = [[i] * j for i, j in temp.items()] # print result print("The elements after grouping are : " + str(res))
The original list : [1, 3, 4, 2, 1, 3, 4, 2, 3, 4, 1] The elements after grouping are : [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4]]
Método n.º 2: usaritertools.groupby()
Este problema se puede resolver fácilmente mediante la funcionalidad tradicional de agrupación que ofrece Python a través de la función de agrupación, que agrupa los elementos similares según lo sugerido por el nombre.
# Python3 code to demonstrate # grouping like elements as list # using itertools.groupby() import itertools # initializing list test_list = [1, 3, 4, 2, 1, 3, 4, 2, 3, 4, 1] # printing original list print("The original list : " + str(test_list)) # using itertools.groupby() # grouping like elements as list res = [list(i) for j, i in itertools.groupby(sorted(test_list))] # print result print("The elements after grouping are : " + str(res))
The original list : [1, 3, 4, 2, 1, 3, 4, 2, 3, 4, 1] The elements after grouping are : [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4]]
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