Dada una lista 2D (puede o no tener la misma longitud), escriba un programa en Python para encontrar el elemento más común en la lista 2D dada.
Ejemplos:
Input : [[10, 20, 30], [20, 50, 10], [30, 50, 10]] Output : 10 Input : [['geeks', 'wins'], ['techie', 'wins']] Output : wins
Enfoque n. ° 1: uso de max()
la función
El primer enfoque de Pythonic es usar el método max() de Python. Primero aplanamos la lista 2D y luego simplemente aplicamos el método max() para encontrar el elemento máximo que ocurre entre todos los elementos.
# Python3 program to find most # common element in a 2D list def mostCommon(lst): flatList = [el for sublist in lst for el in sublist] return max(flatList, key = flatList.count) # Driver code lst = [[10, 20, 30], [20, 50, 10], [30, 50, 10]] print(mostCommon(lst))
10
Hay otro método para aplanar la lista, es decir, chain.from_iterable()
que da lugar a un enfoque alternativo.
# Python3 program to find most # common element in a 2D list from itertools import chain def mostCommon(lst): flatList = list(chain.from_iterable(lst)) return max(flatList, key=flatList.count) # Driver code lst = [[10, 20, 30], [20, 50, 10], [30, 50, 10]] print(mostCommon(lst))
10
Enfoque #2: Usar most_common()
desde el módulo de colecciones
most_common() se usa para producir una secuencia de los n valores de entrada más frecuentes. Por lo tanto, simplemente aplanamos la lista y encontramos el elemento más común utilizando el método mencionado anteriormente.
# Python3 program to find most # common element in a 2D list from itertools import chain from collections import Counter def mostCommon(lst): flatList = chain.from_iterable(lst) return Counter(flatList).most_common(1)[0][0] # Driver code lst = [[10, 20, 30], [20, 50, 10], [30, 50, 10]] print(mostCommon(lst))
10
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA