이해가 어려울 땐 한 줄씩 뜯어서 해석해보기!
1) def get_flattened_list(nested_series):
split_lists = nested_series.dropna().str.split(';')
return [val for sublist in split_lists for val in sublist]
<해석>
* def get_flattened_list(nested_series): → def 함수이름(매개변수)
* dropna() → NaN 값을 제거 , ';' 기준으로 문자 나누기
* for sublist in split_lists
for val in sublist
→ 이렇게 중첩반복문을 쓰고 val을 내보낸다는 뜻!
▶ 최종 결과: split_lists에 있는 모든 서브리스트의 모든 요소를 평탄화한 리스트!
2) def get_unique_values(nested_series):
flattened_list = get_flattened_list(nested_series)
unique_values = set(flattened_list)
return list(unique_values)
<해석>
* flattened_list → get_flattened_list 함수에 nested_series를 전달하여 반환된 결과가 들어있음
* nested_series에 있는 중첩된 리스트를 평탄화한 결과
* set은 중복된 값을 허용하지 않고, 순서가 없는 자료형
→ 중복된 값을 제거하고 유일한 값들만 가지고 있는 set을 생성하는 것을 의미
▶ 최종 결과: get_flattened_list에 고유한 값들만 추출하여 리스트 생성!