sorted와 sort()의 차이점은?
sort()
설명
- 리스트에서만 사용 가능한 메서드(함수)
- 리스트 객체 자체를 정렬해줌
- 리스트 자체를 정렬하기에 반환이 없다.
- 기본적으로 오름차순 정렬이다.
- 대문자와 소문자가 섞여있을 경우, ASCII CODE를 참조하여 오름차순으로 정렬한다.
코드
import random
list_a = [random.randint(-10, 15) for i in range(10)]
list_b = [chr(random.randint(97, 122)) for i in range(10)]
list_c = [chr(ascii_list[random.randint(0, 51)]) for _ in range(10)]
print(list_a)
list_a.sort()
print(list_a)
print(list_b)
list_b.sort()
print(list_b)
print(list_c)
list_c.sort()
print(list_c)
sorted()
설명
- sorted(정렬할 변수, key='어떤 것을 기준으로 할 것인가', reverse='오름차순, 내림차순')
- 오름차순은 False, 내림차순은 True다.
- 만약 단어의 특정 위치를 기준으로 정렬한다고 한다면, lambda x를 이용하여 정렬할 수 있다.
answer = sorted(strings, key=lambda x: (x[n], x))
- 리턴값이 존재하며 리스트 객체 자체를 정렬하지 않는다.
코드
import random
ascii_list = [i for i in range(65, 91)] + [i for i in range(97, 123)]
list_a = [random.randint(-10, 15) for i in range(10)]
list_b = [random.randint(97, 122) for i in range(10)]
list_c = [chr(ascii_list[random.randint(0, 51)]) for _ in range(10)]
print(list_a)
print(sorted(list_a))
print(list_a)
print(list_b)
print(sorted(list_b))
print(list_b)
print(list_c)
print(sorted(list_c))
print(list_c)