1. 학습목표
2. 학습내용
# sort vs. sorted
# 정렬기준의 옵션들: reverse, key=len, key=str.lower, key=func
f_list = ['orange', 'apple', 'mango', 'papaya', 'lemon', 'strawberry', 'coconut']
# sorted : 정렬 후 '새로운' 객체를 반환
# print('EX7-1 -', sorted(f_list))
# EX7-1 - ['apple', 'coconut', 'lemon', 'mango', 'orange', 'papaya', 'strawberry']
# print('EX7-2 -', sorted(f_list, reverse=True))
# EX7-2 - ['strawberry', 'papaya', 'orange', 'mango', 'lemon', 'coconut', 'apple']
# print('EX7-3 -', sorted(f_list, key=len))
# EX7-3 - ['apple', 'mango', 'lemon', 'orange', 'papaya', 'coconut', 'strawberry']
# print('EX7-4 -', sorted(f_list, key=lambda x:x[-1])) # 단어의 끝 글자를 기준으로 정
# EX7-4 - ['papaya', 'orange', 'apple', 'lemon', 'mango', 'coconut', 'strawberry']
# print('EX7-5 -', sorted(f_list, key=lambda x:x[-1], reverse=True))
# EX7-5 - ['strawberry', 'coconut', 'mango', 'lemon', 'orange', 'apple', 'papaya']
# print('EX7-6 -', f_list)
# EX7-6 - ['orange', 'apple', 'mango', 'papaya', 'lemon', 'strawberry', 'coconut']
# sort : 정렬 후 객체 직접 변경
# 실행의 결과값으로 none이 반환되는 함수들의 경우, 객체를 직접 변경하는 시그널임!
a = f_list.sort() # 결과값으로 none이 반환되고, 객체가 직접 변경됨!
# print(a, f_list)
# None ['apple', 'coconut', 'lemon', 'mango', 'orange', 'papaya', 'strawberry']
# print('EX7-7 -', f_list.sort(), f_list)
# EX7-7 - None ['apple', 'coconut', 'lemon', 'mango', 'orange', 'papaya', 'strawberry']
# print('EX7-8 -', f_list.sort(reverse=True), f_list)
# EX7-8 - None ['strawberry', 'papaya', 'orange', 'mango', 'lemon', 'coconut', 'apple']
# print('EX7-9 -', f_list.sort(key=len), f_list)
# EX7-9 - None ['apple', 'lemon', 'mango', 'orange', 'papaya', 'coconut', 'strawberry']
# print('EX7-10 -', f_list.sort(key=lambda x:x[-1]), f_list)
# EX7-10 - None ['papaya', 'apple', 'orange', 'lemon', 'mango', 'coconut', 'strawberry']
# print('EX7-11 -', f_list.sort(key=lambda x:x[-1], reverse=True), f_list)
# EX7-11 - None ['strawberry', 'coconut', 'mango', 'lemon', 'apple', 'orange', 'papaya']
3. 느낀 점