Python | Fusionando duplicados a la lista de la lista

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))
Producción :

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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *