3.11 리스트 메서드: 재편성하기
이 장에서 마지막으로 살펴볼 두 메서드는 리스트의 항목 순서를 변경하여 리스트 자체를 변경한다.
리스트.sort([key=None] [, reverse=False]) 리스트.reverse() # 현재 순서를 뒤집는다.
각 메서드는 저장되어 있는 모든 항목의 순서를 변경한다. 파이썬 3.0에서 두 메서드를 사용하려면 리스트 모든 항목을 서로 비교할 수 있어야 한다(compatible). 전부 문자열이거나 전부 숫자이어야 한다. sort 메서드는 기본적으로 가장 낮은 값부터 가장 큰 값 순서대로 모든 항목을 정렬한다. reverse 인수를 True로 설정하면 높은 값에서 낮은 값 순서로 항목을 정렬한다. 리스트 항목들이 문자열이면 알파벳 (문자 코드) 순서로 항목을 정렬한다.
다음 예시에서 사용자로부터 여러 문자열을 프롬프트로 입력받는데, 아무 값도 입력하지 않고 Enter를 누르면 입력한 모든 문자열을 알파벳 순서로 출력하고 프로그램이 종료된다.
def main():
my_list = [] # 빈 리스트로 시작
while True:
s = input('Enter next name: ')
if len(s) == 0:
break
my_list.append(s)
my_list.sort() # 모든 항목 정렬
print('Here is the sorted list:')
for a_word in my_list:
print(a_word, end=' ')
main()