Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_원본을 유지한채 정렬된 리스트 구하기 - sorted 본문
공부/Python
[Python]프로그래머스 강의_파이썬을 파이썬 답게 파트4. Iterable 다루기_원본을 유지한채 정렬된 리스트 구하기 - sorted
도토리까꿍v 2021. 5. 7. 11:01
Contents
접기
#강의 링크
파이썬을 파이썬답게 - 원본을 유지한채, 정렬된 리스트 구하기 - sorted | 프로그래머스 (programmers.co.kr)
#강의 내용
sort() 함수를 사용하면 리스트의 원소를 정렬할 수 있다. 이때, sort함수는 원본의 멤버 순서를 변경한다.
따라서 원본의 순서는 변경하지 않고, 정렬된 값을 구하려면 sorted함수를 사용해야 한다.
#sort와 sorted 사용 비교
┌코드1(sort 사용)
list1 = [3, 2, 1]
list2 = [i for i in list1] # 또는 copy.deepcopy를 사용
list2.sort()
▲코드1 결과
list1=[3,2,1], list2=[1,2,3]
sort로 list1 즉, 원본의 순서는 변경하지 않고 정렬된 값을 구하려면 list2에 deep copy와 sort함수를 이용해야한다.
┌코드2(sorted사용)
list1 = [3, 2, 1]
list2 = sorted(list1)
▲코드 2 결과
list1=[3,2,1], list2=[1,2,3]
코드 2처럼 sorted를 사용한다면 반복문이나 deepcopy 함수를 사용하지 않아도 새로운 정렬된 리스트를 구할 수 있다.
#추가로 알아두기
reverse파라미터를 사용하면 내림차순으로 정렬시킬 수 있다.
┌코드1(sort에서 reverse파라미터 사용)
>>> list1=[5,6,1]
>>> list1.sort(reverse=True)
>>> print(list1)
[6, 5, 1]
┌코드2(sorted에서 reverse파라미터 사용)
>>> list1=[6,5,1]
>>> list2=sorted(list1, reverse=True)
>>> print(list2)
[6, 5, 1]
▲코드1과 코드2 모두 reverse=True로 리스트를 내림차순 정렬하였다.
'공부 > Python' 카테고리의 다른 글
Comments