Python에서 집합 정렬
집합은 중복 요소가없는 순서가 지정되지 않고 인덱싱되지 않은 컬렉션입니다. 집합은 Python에서 사용할 수있는 네 가지 기본 제공 데이터 유형 중 하나이며 중괄호를 사용하여 작성됩니다.
집합이 순서가 지정되지 않은 경우 집합의 값을 정렬 할 수 없습니다. 그러나 세트를 인쇄하면 정렬 된 방식으로 표시됩니다.
아래 코드를 참조하십시오.
s = {5, 2, 7, 1, 8}
print(s)
출력:
{1, 2, 5, 7, 8}
원하는 경우 다른 함수를 사용하여 집합을 정렬하고 목록을 반환 할 수 있습니다. 이에 대해서는 아래에서 설명합니다.
sorted()
함수를 사용하여 Python에서 집합 정렬
sorted()
함수는 정렬 된 시퀀스 (list, tuple, string) 또는 정렬 된 컬렉션 (sets, dictionary)을 목록 형식으로 반환하는 Python의 내장 함수입니다. sorted()
함수는 새로운 정렬 된 출력을 제공하므로 원래 반복 가능한 시퀀스에 영향을주지 않습니다.
예를 들면
s = {5, 2, 7, 1, 8}
print(sorted(s))
출력:
[1, 2, 5, 7, 8]
sorted()
함수는 집합 대신 목록을 반환합니다. set()
함수를 사용하여이 목록을 다시 집합으로 변환 할 수 있습니다. 그러나 세트가 정렬되지 않았기 때문에 이것은 중복됩니다.
sort()
메서드를 사용하여 Python에서 집합 정렬
sort()
메소드는 목록에있는 요소를 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. 이는 파괴적인 프로세스입니다. 즉,sorted()
함수와 달리sort()
메소드는 원래 목록 자체의 요소를 정렬합니다.
이 기능은 세트로 사용할 수 없습니다. 그러나 목록에 세트를 포함 할 수 있으며 정렬합니다.
예를 들면
s = [{5, 2, 7, 1, 8}]
s.sort()
print(s)
출력:
[{1, 2, 5, 7, 8}]
sort()
함수는 목록의 최종 출력도 반환합니다. sorted () 함수로도 비슷한 접근 방식을 취할 수 있습니다.
반면list()
함수를 사용하여 세트를 목록으로 변환하고이 메소드로 정렬 할 수 있습니다.
아래 코드를 참조하십시오.
s = {5, 2, 7, 1, 8}
l = list(s)
l.sort()
print(l)
출력:
[1, 2, 5, 7, 8]