본문 바로가기
코딩 연습/파이썬 기초(예제)

파이썬 sort 함수 직접 만들어보기

by good4me 2022. 5. 12.

goodthings4me.tistory.com

프로그램 공부를 하다 보면 숫자 크기를 비교하여 정렬하라는 문제를 많이 본다. 파이썬에서도 정렬에 쓰이는 함수가 있는데 sort()와  sorted()가 있다. <관련 함수 내용은 여기 참조> 이중에서 sort() 함수를 직접 만드는 코드를 작성해본다.

 

 

파이썬 sort() 함수 만들기

 

[파이썬 sort() 함수 흉내내기 - 오름차순]

# 오름차순
def my_asc(lst):
    for n in range(len(lst)-1):
        for m in range(n + 1, len(lst)):
            if lst[n] > lst[m]: # 앞, 뒤 바로 교환 위한 조건
                lst[n], lst[m] = lst[m], lst[n]
    print(lst)


nums = [20, 10, 30, 24, 52, 30]
my_asc(nums)


[실행 결과]
[10, 20, 24, 30, 30, 52]
  • 파이썬 리스트를 인자로 전달하면 리스트 요소 순서대로 크기 비교(if문) 후 위치를 바꾸는 방법으로 진행
  • 예로, 첫 번째 요소 20, 두 번째 요소 10을 비교하여 첫 번째가 크기 때문에 서로 위치를 바꾼다.

 

 

good4me.co.kr

 

[파이썬 sort() 함수 흉내내기 - 내림차순]

# 내림차순
def my_desc(lst):
    for n in range(len(lst)-1):
        for m in range(n + 1, len(lst)):
            if lst[n] < lst[m]:
                lst[n], lst[m] = lst[m], lst[n]
    print(lst)


nums = [20, 10, 30, 24, 52, 30]
my_desc(nums)


[실행 결과]
[52, 30, 30, 24, 20, 10]
  • 오름차순과 반대로 진행하면 내림차순이 된다.

 

▷ 관련 함수 보기

 

 

[python] 파이썬 sort(), sorted() 알아보기

파이썬 sort()는 원본을 변경시키는 함수인 반면 sorted()는 원본을 변경시키지 않는 정렬 방법의 함수이다. # 리스트 sort() ls = [3, 1, 4, 2] ls.sort() # 오름차순이 디폴트임 print(ls) # [1, 2, 3, 4] 원본..

goodthings4me.tistory.com

 

 

 

댓글