Input으로 주어진 list의 각 요소(element)가 해당 list에 몇번 나타나는지 수를 dictionary로 만들어서 return
해주세요. Dictionary의 key
는 list의 요소 값이며 value
는 해당 요소의 총 빈도수 입니다.
예를 들어, 다음과 같은 list가 input으로 주어졌다면:
my_list = ["one", 2, 3, 2, "one"]
다음과 같은 dictionary가 return
되어야 합니다.
{
"one" : 2,
2 : 2,
3: 1
}
def get_occurrence_count(my_list):
dictionary = {}
for j in range(len(my_list)):
n = 1
for i in range(len(my_list)):
if i != j and my_list[i] == my_list[j]:
n += 1
else:
continue
dictionary[my_list[j]] = n
return dictionary
말도 안되게 복잡하게 풀었다.
가능하면 loop를 돌릴때, 리스트 속 요소를 사용해보자.
훨씬 더 간단해질 수 있다..
def get_occurrence_count(my_list):
my_dict = {}
for value in my_list:
if value in my_dict:
my_dict[value] += 1
else:
my_dict[value] = 1
return my_dict
1번처럼 풀어놓고 2번 풀이를 접했을 때는 정말 충격적이었지만,
이렇게 배워나가야지,,