Python

[Python] 대소문자 구분없이 정렬하는 sort 함수

YEJI ⍢ 2022. 9. 23. 23:58
728x90

↓↓↓      대소문자 구분 없이 정렬하기 예제는 조금만 내리면 있어요 ⍢      ↓↓↓

Sort 함수란 ?

list 객체 자체를 정렬해주는 함수입니다.

 

 

리스트.sort() - 오름차순 정렬

num = [1, 9, 2, 8, 3, 7, 4, 6, 5]
num.sort()
print(num)

리스트.sort(reverse=True) - 내림자순 정렬

num = [1, 9, 2, 8, 3, 7, 4, 6, 5]
num.sort(reverse=True)
print(num)

 

 

⚠️ 대소문자 구분 없이 하고 싶을 땐 아래의 함수 format을 사용합니다 ⚠️ 

 

함수의 format은 아래와 같습니다.

<list>.sort(key = <function>, revuer = <bool>)

 

 

 

예제를 보면 대소문자를 구분하지 않고 알파벳을 정렬한 것을 알 수 있습니다.

apl = ["b", "c", "A", "C", "S", "e", "D"]
apl.sort(key=str.lower)

print(apl)

 

Sorted 함수란?

원본 내용을 바꾸지 않고, 정렬한 값을 반환합니다.

(List, Tuple, Dictionary 등에서 모두 사용할 수 있습니다.)

apl = ["b", "c", "A", "C", "S", "e", "D"]
a = sorted(apl)

print(apl)
print(a)

원본 리스트를 가지고 있는 변수 apl를 출력해 보면 원본 그대로의 리스트가 출력이 되고

sorted 함수의 return 값을 가지고 있는 변수 a를 출력하면 정렬된 리스트를 볼 수 있습니다.

 

 

Sorted 함수가 sort 함수와 다른 점은 무엇일까요   ˀ̣  ˀ̣  ˀ̣

 

sorted 함수는 리스트를 리턴해주지만 sort 함수는 리스트의 내부적 변화만 있을 뿐 return 값을 가지고 있지 않습니다.

 

 

아래 보이는 것처럼 return 값이 없는 sort 함수는 출력했을 때 None이 출력되고,

sorted 함수로 바꿔줬을 때는 return 값을 받기 때문에 결과가 출력되는 것을 확인할 수 있습니다.

 

 

◡̈