Python | Agregue la aparición de cada número como sublistas

Dada una lista de números, la tarea es contar la ocurrencia de cada elemento y agregar como sublistas.

Ejemplos:

Input: l1 = [3, 5, 7, 2, 3, 5, 9.1]
Output: [[3, 2], [5, 2], [7, 1], [2, 1], [9.1, 1]]

Input: l1 = [1, 1, 2, 2, 3, 1]
Output: [[1, 3], [2, 2], [3, 1]]

Nota: El formato de la lista de salida 2d es [[‘item1’, ‘count1’], [‘item2’, ‘count2’], …, [‘itemN’, ‘countN’]].

Código #1: Usando el método count()

# Python program to add the occurrence
# of each number as sublists
def count_occur(list1, **kwargs):
      
    # iterate over list item
    for i in list1:
        row =[]
        ct = 0
      
        # count function will count occurrence
        ct = list1.count(i)
        row.append(i)
        row.append(ct)
        # append 1d list items to 2d list
        list2.append(row)
      
    # below code is to eliminate 
    # repetitive list items
    for j in list2:
        if j not in unq_l2:
            unq_l2.append(j)
              
    return unq_l2
  
# Driver Code
l1 = [3, 5, 7, 2, 3, 5, 9.1]
list2 = []
unq_l2 = []
print(count_occur(l1))
Producción:

[[3, 2], [5, 2], [7, 1], [2, 1], [9.1, 1]]

 
Código #2: Usar el método de bucle

def count_occur(list1):
  
    for i in range(0, len(l1)):
        a = 0
        row =[]
        if i not in l:
            for j in range(0, len(l1)):
  
                # matching items from both lists
                if l1[i]== l1[j]:
  
                    # on match counter increments by 1
                    a = a + 1
  
            row.append(l1[i])
            row.append(a)
  
            # append function will append 
            # 1d list items to 2d list
            l.append(row)
              
    # below code is to eliminate
    # repetitive list items    
    for j in l:
        if j not in unq_l:
            unq_l.append(j)
              
    return unq_l
  
# Driver code        
l1 =[3, 5, 7, 2, 3, 5, 9.1]
l =[]
unq_l =[]
  
print(count_occur(l1)) 
Producción:

[[3, 2], [5, 2], [7, 1], [2, 1], [9.1, 1]]

Código #3: Usando el método counter()

# Python program to add the occurrence
# of each number as sublists using counter() method
  
from collections import Counter
def count_occurence(l):
    c = Counter(l)
    l1 = []
    for k,v in c.items():
        l1.append([k,v])
    return l1
  
  
# Driver code     
l = [3, 5, 7, 2, 3, 5, 9.1]
print(count_occurence(l))
Producción:

[[2, 1], [3, 2], [9.1, 1], [5, 2], [7, 1]]

Publicación traducida automáticamente

Artículo escrito por vivekchaudhary90 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 *