Python을 이용하여 다양한 방법으로 Order Set을 생성하는 방법에 대해 알아보겠습니다. 순서 집합(ordered set)은 데이터의 순서가 유지될 수 있는 데이터 구조로, 삽입한 순서대로 데이터의 위치가 고정되어 있어야 할 때 사용됩니다. 주의할 점은, 값의 위치가 고정되었다고 선언하면 순서가 지정된 집합을 의미하는 순서 집합을 반복할 수 있습니다. 그러나 세트에서는 위치가 세트에 고정되어 있지 않기 때문에 반복하는 동안 구독 가능 오류가 발생합니다.
예:
input_data세트 = {왕자, 아디트야, 프라비어, 쉬브}
순서가 지정되지 않은 세트의 경우 출력: {Aditya, Prince, Shiv, Praveer}, 그것은 당신 편에서 임의의 위치가 될 수 있습니다
주문 세트의 경우 출력: {왕자, 아디트야, 프라비어, 쉬브}
설명: Python에서 알 수 있듯이 이 세트를 한 번 이상 인쇄하면 매번 동일한 데이터 세트에 대한 항목의 무작위 위치를 얻게 됩니다.
그러나 주문 세트의 경우 항목을 삽입한 것과 동일한 순서로 매번 동일한 데이터세트를 얻게 됩니다.
Python에서 순서 집합을 만드는 세 가지 방법이 있습니다.
사전 데이터 구조를 사용한 순서 집합
사전 데이터 구조를 사용하여 순서화된 세트를 생성할 수 있습니다. 사전 자체가 세트 항목을 키로 사용하는 정렬된 데이터 구조이기 때문입니다. 키는 사전에서 고유하고 값 위치에서 빈 문자열을 생성할 수 있기 때문입니다. 아래에 설명된 대로 구현을 살펴보겠습니다.
파이썬3
# Creation of ordered set using the dict data structure> dictionary>=> {>'Prince'>: '>', '>Aditya>': '>',> >'Praveer'>: '>', '>Prince>': '>', '>Shiv>': '>'}> print>(dictionary)> # For accessing only keys from the dictionary> for> key>in> dictionary.keys():> >print>(key, end>=>' '>)> |
>
1GB는 몇 MB인가요?
>
산출:
{'Prince': '', 'Aditya': '', 'Praveer': '', 'Shiv': ''} Prince Aditya Praveer Shiv> 목록 데이터 구조를 사용한 순서 집합
목록 데이터 구조를 사용하면 중복 요소를 제거하여 순서 집합을 만들 수 있습니다. 아래에 설명된 대로 구현을 살펴보겠습니다.
파이썬3
자바 문자열 cmp
def> removeduplicate(data):> >countdict>=> {}> >for> element>in> data:> >if> element>in> countdict.keys():> > ># increasing the count if the key(or element)> ># is already in the dictionary> >countdict[element]>+>=> 1> >else>:> ># inserting the element as key with count = 1> >countdict[element]>=> 1> >data.clear()> >for> key>in> countdict.keys():> >data.append(key)> dataItem>=> [>'Prince'>,>'Aditya'>,>'Praveer'>,>'Prince'>,>'Aditya'>,>'Shiv'>]> print>(>'Before removing duplicate elements from dataItems'>, dataItem)> removeduplicate(dataItem)> print>(>'Created ordered set by removing duplicate elements'>, dataItem)> |
>
>
산출:
Before removing duplicate elements from dataItems ['Prince', 'Aditya', 'Praveer', 'Prince', 'Aditya', 'Shiv'] Created ordered set by removing duplicate elements ['Prince', 'Aditya', 'Praveer', 'Shiv']>
Ordered Set 모듈(또는 클래스)을 사용한 Ordered Set
기본적으로 Python에는 순서가 지정되지 않은 세트가 있지만 순서가 지정된 세트를 만들려면 아래에 언급된 대로 pip 패키지 설치 프로그램에서order-set라는 모듈을 설치해야 합니다.
주문한 세트 모듈 설치 방법
pip 패키지 설치 프로그램을 사용하여 아래 언급된 대로 주문 세트 모듈을 다운로드합니다.
pip install ordered_set>
OrderSet의 구문:
orderedSet(Listname)>
예:
이제 더 명확하게 설명하기 위해 아래 언급된 대로 세트를 반복할 수 없으므로 순서가 지정된 세트를 반복해 보겠습니다.
파이썬3
from> ordered_set>import> OrderedSet> createOrderedSet>=> OrderedSet(> >[>'GFG'>,>'is'>,>'an'>,>'Excellent'>,> >'Excellent'>,>'platform'>])> print>(createOrderedSet)> # we are able to iterate it similar to list data type> for> index>in> range>(>len>(createOrderedSet)):> >print>(createOrderedSet[index], end>=>' '>)> |
>
>
산출:
OrderedSet(['GFG', 'is', 'an', 'Excellent', 'platform']) GFG is an Excellent platform>
시간 복잡도: O(n), 여기서 n은 Ordered Set의 요소 수입니다.
보조 공간: O(n) 여기서 n은 Ordered Set의 요소 수입니다.