Python에서 목록 정렬: 정렬된 것과 정렬된 것의 차이점

사업

파이썬에서 목록을 오름차순 또는 내림차순으로 정렬하는 두 가지 방법이 있습니다.

  • sort()
  • sorted()

문자열이나 튜플을 정렬하려면 sorted()를 사용하십시오.

다음 정보가 여기에 제공됩니다.

  • 원본 목록을 정렬하는 유형 목록 메서드sort()
  • 새로운 정렬된 목록 생성, 내장 함수: .sorted()
  • 문자열과 튜플을 정렬하는 방법

원본 목록 정렬, 목록 유형의 메소드: sort()

sort()는 목록 유형 메서드입니다.

원래 목록 자체가 다시 작성되는 파괴적인 프로세스입니다.

org_list = [3, 1, 4, 5, 2]

org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]

sort()는 None을 반환합니다.

print(org_list.sort())
# None

기본값은 오름차순입니다. 내림차순으로 정렬하려면 인수 reverse를 true로 설정하십시오.

org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]

새로운 정렬 목록 생성, 내장 함수: sorted()

sorted()는 내장 함수입니다.

정렬할 목록이 인수로 지정되면 정렬된 목록을 반환합니다. 이것은 원래 목록을 변경하지 않는 비파괴 프로세스입니다.

org_list = [3, 1, 4, 5, 2]

new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]

sort()와 마찬가지로 기본값은 오름차순입니다. 내림차순으로 정렬하려면 인수 reverse를 true로 설정하십시오.

new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]

문자열과 튜플을 정렬하는 방법

문자열과 튜플은 변경할 수 없으므로 원본 객체를 다시 작성하는 데 사용할 수 있는 sort() 메서드가 없습니다.

반면에 정렬된 목록을 새 객체로 생성하는 sorted() 함수의 인수는 목록뿐만 아니라 문자열 또는 튜플일 수 있습니다. 그러나 sorted()는 목록을 반환하므로 문자열이나 튜플로 변환해야 합니다.

문자열 정렬

sorted() 함수의 인수로 문자열을 지정하면 정렬된 문자열의 각 문자를 요소로 저장한 목록이 반환됩니다.

org_str = 'cebad'

new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']

문자열 목록을 단일 문자열로 연결하려면 join() 메서드를 사용합니다.

new_str = ''.join(new_str_list)
print(new_str)
# abcde

내림차순으로 정렬하려면 인수 reverse를 true로 설정하십시오.

new_str = ''.join(sorted(org_str))
print(new_str)
# abcde

new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba

문자열의 크기는 문자의 유니코드 코드 포인트(문자 코드)에 의해 결정됩니다.

튜플 정렬

튜플은 문자열과 동일합니다. 튜플을 sorted() 함수의 인수로 지정하면 정렬된 요소 목록이 반환됩니다.

org_tuple = (3, 1, 4, 5, 2)

new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]

목록을 튜플로 변환하려면 tuple()을 사용합니다.

new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)

내림차순으로 정렬하려면 인수 reverse를 true로 설정하십시오.

new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)

new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)