Python 주문 세트
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> => ' '> )> |
산출:
{'Prince': '', 'Aditya': '', 'Praveer': '', 'Shiv': ''} Prince Aditya Praveer Shiv 목록 데이터 구조를 사용한 순서 집합
목록 데이터 구조를 사용하면 중복 요소를 제거하여 순서 집합을 만들 수 있습니다. 아래에 설명된 대로 구현을 살펴보겠습니다.
파이썬3
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의 요소 수입니다.