A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos extraer la frecuencia de los elementos en la lista. Pero esto se puede agregar trabajo si tenemos más de 1 lista en la que trabajamos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar la comprensión del diccionario +set() + count()
Esta es una de las formas en que se puede realizar esta tarea. En este, realizamos la tarea de contar usando count() y set() y la extensión de la lógica se realiza usando comprensión de diccionario.
# Python3 code to demonstrate # Elements frequency count in multiple lists # using set() + count() + dictionary comprehension # Initializing lists test_list1 = [1, 3, 2, 4, 5, 1, 2] test_list2 = [4, 1, 4, 3, 4, 2, 4] test_list3 = [1, 4, 5, 3, 4, 5, 4] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) print("The original list 3 is : " + str(test_list3)) # Elements frequency count in multiple lists # using set() + count() + dictionary comprehension res = {idx : [test_list1.count(idx), test_list2.count(idx), test_list3.count(idx)] for idx in set(test_list1 + test_list2 + test_list3)} # printing result print ("The frequency of each element is : " + str(res))
La lista original 1 es: [1, 3, 2, 4, 5, 1, 2]
La lista original 2 es: [4, 1, 4, 3, 4, 2, 4]
La lista original 3 es: [1 , 4, 5, 3, 4, 5, 4]
La frecuencia de cada elemento es: {1: [2, 1, 1], 2: [2, 1, 0], 3: [1, 1, 1] , 4: [1, 4, 3], 5: [1, 0, 2]}
Método n.º 2: uso de Counter() + map()
la comprensión del diccionario +
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En este, la tarea de encontrar la frecuencia se realiza utilizando Counter() y map().
# Python3 code to demonstrate # Elements frequency count in multiple lists # using map() + Counter() + dictionary comprehension from collections import Counter # Initializing lists test_list1 = [1, 3, 2, 4, 5, 1, 2] test_list2 = [4, 1, 4, 3, 4, 2, 4] test_list3 = [1, 4, 5, 3, 4, 5, 4] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) print("The original list 3 is : " + str(test_list3)) # Elements frequency count in multiple lists # using map() + Counter() + dictionary comprehension freq = list(map(Counter, (test_list1, test_list2, test_list3))) res = {ele: [cnt[ele] for cnt in freq] for ele in {ele for cnt in freq for ele in cnt}} # printing result print ("The frequency of each element is : " + str(res))
La lista original 1 es: [1, 3, 2, 4, 5, 1, 2]
La lista original 2 es: [4, 1, 4, 3, 4, 2, 4]
La lista original 3 es: [1 , 4, 5, 3, 4, 5, 4]
La frecuencia de cada elemento es: {1: [2, 1, 1], 2: [2, 1, 0], 3: [1, 1, 1] , 4: [1, 4, 3], 5: [1, 0, 2]}
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