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