2D 목록에는 요소로 목록이 있습니다. 즉, 목록의 목록입니다. 이 기사에서는 목록 내의 모든 목록 중에서 가장 일반적인 요소를 찾아야 합니다.
최대 및 개수 포함
주어진 하위 목록에 요소가 있는지 확인하기 위해 조건이 있는 다음을 설계합니다. 그런 다음 최대 빈도의 요소를 가져오기 위해 count 함수와 함께 max 함수를 적용합니다.
예시
def highest_freq(lst): SimpleList = [el for sublist in lst for el in sublist] return max( SimpleList, key= SimpleList.count) # Given list listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]] print("Given List:\n",listA) print("Element with highest frequency:\n",highest_freq(listA))
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given List: [[45, 20, 11], [20, 17, 45], [20, 13, 9]] Element with highest frequency: 20
체인 포함
여기서 우리는 위의 것과 유사한 접근 방식을 취합니다. 그러나 우리는 itertools 모듈의 chain 함수를 사용합니다.
예시
from itertools import chain def highest_freq(lst): SimpleList = list(chain.from_iterable(lst)) return max( SimpleList, key= SimpleList.count) # Given list listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]] print("Given List:\n",listA) print("Element with highest frequency:\n",highest_freq(listA))
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given List: [[45, 20, 11], [20, 17, 45], [20, 13, 9]] Element with highest frequency: 20
카운터 및 체인 포함
이 접근 방식에서 컬렉션의 카운터 함수는 itertools의 체인 함수를 사용하여 검색된 요소의 개수를 유지합니다.
예시
from itertools import chain from collections import Counter def highest_freq(lst): SimpleList = chain.from_iterable(lst) return Counter(SimpleList).most_common(1)[0][0] # Given list listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]] print("Given List:\n",listA) print("Element with highest frequency:\n",highest_freq(listA))
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given List: [[45, 20, 11], [20, 17, 45], [20, 13, 9]] Element with highest frequency: 20