Python: cuente la frecuencia de la longitud de fila de la array

Dada una Matrix, la tarea es escribir un programa en Python para obtener la frecuencia de conteo de las longitudes de sus filas.

Entrada: lista_prueba = [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]

Salida: {3: 2, 2: 2, 1: 1}

Explicación: 2 listas de longitud 3 están presentes, 2 listas de tamaño 2 y 1 de 1 longitud está presente.

Entrada: test_list = [[6, 3, 1], [8, 9], [10, 12, 7], [4, 11]]

Salida: {3: 2, 2: 2}

Explicación: 2 listas de longitud 3 están presentes, 2 listas de tamaño 2.

Método #1: Usar diccionario + bucle

En esto, verificamos para cada longitud de fila, si la longitud ha ocurrido en el diccionario memorizado, entonces el resultado se incrementa o si ocurre un nuevo tamaño, el elemento se registra como nuevo.

Python3

# Python3 code to demonstrate working of
# Row lengths counts
# Using dictionary + loop
  
# initializing list
test_list = [[6, 3, 1], [8, 9], [2], 
             [10, 12, 7], [4, 11]]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = dict()
for sub in test_list:
  
    # initializing incase of new length
    if len(sub) not in res:
        res[len(sub)] = 1
  
    # increment in case of length present
    else:
        res[len(sub)] += 1
  
# printing result
print("Row length frequencies : " + str(res))

Producción:

The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {3: 2, 2: 2, 1: 1}

Método #2: Usando Counter() + map() + len()

En esto, map() y len() obtienen las longitudes de cada sublista en la array, Counter se usa para mantener la frecuencia de cada una de las longitudes.

Python3

# Python3 code to demonstrate working of
# Row lengths counts
# Using Counter() + map() + len()
from collections import Counter
  
# initializing list
test_list = [[6, 3, 1], [8, 9], [2],
             [10, 12, 7], [4, 11]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Counter gets the frequencies of counts
# map and len gets lengths of sublist
res = dict(Counter(map(len, test_list)))
  
# printing result
print("Row length frequencies : " + str(res))

Producción:

The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {3: 2, 2: 2, 1: 1}

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 *