소개
Python 에서는 주어진 함수를 기반으로 리스트의 요소를 그룹화할 수 있습니다. 이는 각 그룹의 발생 횟수를 계산하려는 경우 유용합니다. 이 챌린지에서는 주어진 함수를 기반으로 리스트의 요소를 그룹화하고 각 그룹의 요소 수를 반환하는 함수를 만드는 과제를 수행하게 됩니다.
Python 에서는 주어진 함수를 기반으로 리스트의 요소를 그룹화할 수 있습니다. 이는 각 그룹의 발생 횟수를 계산하려는 경우 유용합니다. 이 챌린지에서는 주어진 함수를 기반으로 리스트의 요소를 그룹화하고 각 그룹의 요소 수를 반환하는 함수를 만드는 과제를 수행하게 됩니다.
리스트 lst와 함수 fn을 인수로 사용하는 함수 count_by(lst, fn = lambda x: x)를 작성하십시오. 이 함수는 주어진 함수를 기반으로 리스트의 요소를 그룹화하고 각 그룹의 요소 수를 포함하는 딕셔너리를 반환해야 합니다.
이 문제를 해결하려면 다음 단계를 따를 수 있습니다.
collections.defaultdict를 사용하여 딕셔너리를 초기화합니다.map()을 사용하여 주어진 함수를 리스트의 각 요소에 적용합니다.함수는 결과 딕셔너리를 반환해야 합니다.
from collections import defaultdict
def count_by(lst, fn = lambda x: x):
count = defaultdict(int)
for val in map(fn, lst):
count[val] += 1
return dict(count)
from math import floor
count_by([6.1, 4.2, 6.3], floor) ## {6: 2, 4: 1}
count_by(['one', 'two', 'three'], len) ## {3: 2, 5: 1}
이 챌린지에서는 주어진 함수를 기반으로 리스트의 요소를 그룹화하고 각 그룹의 요소 수를 반환하는 방법을 배웠습니다. 또한 이 문제를 해결하기 위해 collections.defaultdict와 map()을 사용하는 방법도 배웠습니다.