파이썬에서 집합이란 무엇이며 어떻게 사용합니까?



Python에서 집합이 무엇인지, 다양한 작업과 함께 집합을 만드는 방법을 알아 봅니다. 또한 고정 된 집합과 Python에서의 생성에 대해서도 배우게됩니다.

데이터 스토리지는 오늘날 세계의 모든 도메인에 필요한 것입니다. Python은 데이터를 구성하기 위해 다양한 유형의 데이터 구조를 제공하며 이러한 데이터 구조는 . Python에서 사용할 수있는 모든 데이터 구조 중 일부는 변경 가능하고 일부는 변경 불가능합니다. 이 기사에서는 이러한 세트 중 하나에 대해 논의 할 것입니다. Python의 집합은 변경 가능하고 반복 가능하며 정렬되지 않은 데이터 구조입니다. 여기에 더 자세히 다룬 모든 것에 대한 빠른 연습이 있습니다.

파이썬에서 설정이란 무엇입니까?
Python에서 세트를 언제 사용합니까?
세트는 어떻게 만듭니 까?
작업 설정





냉동 세트는 무엇입니까?

시작하자. :-)



파이썬에서 설정이란 무엇입니까?

집합은 기본적으로 정렬되지 않은 요소의 모음으로 구성된 데이터 유형입니다. 이러한 요소는 ,특정 유형이 아닙니다.. 세트는 변경 가능하며 (변경 가능) 요소의 반복 사본이 없습니다. 집합 ar의 값e 인덱싱되지 않았으므로 인덱싱g 작업은 세트에서 수행 할 수 없습니다.

예:

My_Set = {1, 's', 7.8} print (My_Set)

산출: {‘s’, 1, 7.8}



출력에는 My_Set에있는 모든 요소가 표시됩니다.

노트 : 집합 전체는 변경 가능하지만 집합의 요소는 변경할 수 없습니다.

이제 Python에서 집합이 무엇인지 알았으니 이제 집합을 사용하는시기를 이해해 보겠습니다.

파이썬의 생성자는 무엇입니까

Python에서 세트를 언제 사용합니까?

Python의 집합은 다음과 같은 경우에 사용됩니다.

  • 데이터의 순서는 중요하지 않습니다.
  • 데이터 요소에서 반복이 필요하지 않습니다.
  • 합집합, 교차 등과 같은 수학적 연산을 수행해야합니다.

이제 계속해서 Python에서 집합을 만드는 방법을 살펴 보겠습니다.

Python에서 집합을 어떻게 생성합니까?

Python의 집합은 두 가지 방법으로 만들 수 있습니다.

  • 중괄호로 둘러싸는 요소
  • set () 함수를 사용하여

1. 중괄호 사용 :

Python의 집합은 중괄호 ({})를 사용하여 생성됩니다.

 예: 
My_Set = {1, 's', 7.8} print (My_Set)

산출: {‘s’, 1, 7.8}

보시다시피 My_Set이 생성되었습니다.

2. set () 함수 사용

Python의 집합은 set () 함수를 사용하여 만들 수 있습니다.

예:

a = set ({1, 'b', 6.9}) print (a)

산출: {1, 'b', 6.9}

동일한 기능을 사용하여 빈 집합을 만들 수도 있습니다.

예:

Empty_Set = set () print (Empty_Set)

산출: 세트()

위의 출력은 Empty_Set이라는 이름의 빈 세트가 생성되었음을 보여줍니다.

이 빈 세트에 요소를 추가 할 수 있습니다. 다음 주제에서 다룰 것입니다.

작업 설정

요소 추가, 요소 삭제, 세트 길이 찾기 등과 같은 여러 작업을 세트에서 수행 할 수 있습니다. 세트에서 사용할 수있는 모든 메소드를 알기 위해 다음을 사용할 수 있습니다. 너에게 () 함수.

예:

My_Set = {1, 's', 7.8} dir (My_Set)

산출:

[ '__and __', '__ class __', '__ contains __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__hash__', ' __iand__ ','__init__ ','__init_subclass__ ','__ior__ ','__isub__ ','__iter__ ','__ixor__ ','__le__ ','__len__ ','__lt__ ','__ne__ ','__new__ ','__or__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', ' __xor__ ','add ','clear ','copy ','difference ','difference_update ','discard ','intersection ','intersection_update ','isdisjoint ','issubset ','issuperset ','pop ' , '제거', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

출력에는 세트에서 사용할 수있는 모든 메소드가 표시됩니다. 이 기사에서 몇 가지 더 자세히 설명하겠습니다.

세트의 길이 찾기

파이썬에서 집합의 길이를 찾으려면 len () 함수를 사용할 수 있습니다. 이 함수는 세트의 이름을 매개 변수로 사용하고 세트에있는 요소의 수와 동일한 정수 값을 리턴합니다.

예:

My_Set = {1, 's', 7.8} len (My_Set)

산출:

위의 출력에서 ​​볼 수 있듯이 My_Set에있는 요소의 수와 동일한 3이 반환되었습니다. 이제 이러한 요소에도 액세스 할 수 있습니다 (아래에 표시됨).

집합의 요소에 액세스

이전에 지정한대로 집합의 요소가 색인화되지 않기 때문에 색인 번호를 사용하여 집합 요소에 액세스 할 수 없습니다. 따라서 집합의 요소에 액세스하려는 경우 반복하여 해당 요소에 액세스 할 수 있습니다.

예:

My_Set의 x에 대한 My_Set = {1, 's', 7.8} : print (x)

산출:

초 1 7.8

출력에서 볼 수 있듯이 순서는 집합에 제공되는 요소의 순서와 다릅니다. 요소가 정렬되지 않았기 때문입니다.

세트에 요소 추가 :

두 가지 기능을 사용하여 요소를 세트에 추가 할 수 있습니다. 더하다() 그리고 최신 정보() 함수.

add () 함수는 아래와 같이 기존 집합에 하나의 요소를 추가합니다.

예:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

산출: {1, 3, 7.8,‘s’}

update () 함수는 기존 세트에 둘 이상의 요소를 추가하려는 경우 사용됩니다.

예:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

산출: {1, 2, 4.6, 7.8,‘r’,‘s’}

위의 출력에서 ​​볼 수 있듯이 update () 함수는 4 개의 값 목록을 가져오고 1을 제외한 모든 값이 My_Set에 추가됩니다. 이는 1이 이미 세트에 존재하므로 다시 추가 할 수 없기 때문입니다.

세트의 요소 제거

집합에서 요소를 제거하려면 다음 중 하나를 사용할 수 있습니다. 없애다(), 포기() 그리고 팝 () 기능.

remove () 함수는 세트에서 제거 할 항목 인 하나의 매개 변수를 사용합니다.

예:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

산출: {1, 4.6, 7.8,‘r’,‘s’}

보시다시피 remove () 함수를 사용하여 세트에서 2가 제거되었습니다. set에 존재하지 않는 remove ()의 매개 변수로 일부 요소를 지정하면 오류가 발생합니다.

이제 집합에서 일부 요소를 제거하려는 경우 해당 요소가 실제로 집합에 있는지 여부가 확실하지 않은 경우 무시 () 함수를 사용할 수 있습니다. 이 함수는 세트에서 제거 할 요소를 매개 변수로 가져 오지만 요소가없는 경우 오류가 발생하지 않습니다.

예:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ( 'i') print (My_Set)

산출: {1, 2, 7.8,‘r’,‘s’}

위의 출력은 My_Set에서 4.6이 제거되었지만 My_Set.discard (‘i’)를 사용할 때 'i'가 내 세트에 없는데도 'i')가 오류를 발생시키지 않았 음을 보여줍니다.

pop () 함수는 또한 집합 요소를 제거하지만 집합이 순서가 지정되지 않았기 때문에 어떤 요소가 제거되었는지 알 수 없습니다.

예:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

산출: {2, 4.6, 7.8,‘r’,‘s’}

출력은 pop ()을 사용하여 일부 임의 요소가 제거되었음을 보여줍니다.이 경우에는 1입니다.

이제 세트에있는 모든 요소를 ​​삭제하려는 경우 맑은() 방법.

예:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () print (My_Set)

산출: 세트()

위의 출력에서 ​​볼 수 있듯이 My_Set은 빈 집합입니다.

세트를 완전히 삭제하려면 예어.

예:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set print (My_Set)

위의 코드를 실행하면 My_Set이 삭제되어 오류가 발생합니다.

아래에서 설명하는 합집합, 교차, 차이 등과 같은 집합에 대해 다양한 수학 연산을 수행 할 수도 있습니다.

집합의 조합

집합 조합은 두 집합에있는 모든 고유 요소를 추가하여 둘 이상의 집합을 단일 집합으로 연결하는 것을 의미합니다. 이는 두 가지 방법으로 수행 할 수 있습니다.

  • 파이프 라인 사용
  • union () 함수 사용

파이프 라인 기호 사용 :

|를 사용하여 두 세트를 연결할 수 있습니다. 다음과 같이 기호 :

예:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b print (a | b)

산출: {1, 2, 4.6, 5, 7.8,‘r’,‘abc’,‘s’,‘d’}

보시다시피 위의 출력에서 ​​집합 a와 집합 b의 합집합은 새 집합 c에 저장됩니다. |를 사용하여 두 개 이상의 세트를 연결할 수도 있습니다. 상징.

예:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c 인쇄 (d)

산출:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

union () 메소드 사용 :

둘 이상의 집합을 연결하려면 다음과 같이 union () 메서드를 사용할 수 있습니다.

예:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = { 'm', 23,76,4.7} print ( ' Set a U b = ', a.union (b)) print ('Set a U b U c = ', a.union (b, c))

산출:

a U b = {1, 2, 4.6, 5, 7.8,‘r’,‘abc’,‘s’,‘d’} 설정

a U b U c = {1, 2, 4.6, 5, 4.7, 7.8,‘r ', 76, 23,‘abc’,‘m’,‘s’,‘d’} 설정

위의 출력은 d가 집합 a, b 및 c의 합집합임을 보여줍니다.

세트의 교차점

둘 이상의 집합의 교차점은 해당 집합에있는 공통 요소로만 구성된 새로운 집합입니다.

이는 두 가지 방법으로 수행 할 수 있습니다.

  • ‘&’기호 사용
  • Intersection () 함수 사용

‘&’기호 사용 :

다음과 같이‘&’기호를 사용하여 둘 이상의 세트의 교차점을 결정할 수 있습니다.

예:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} print (a & b) 인쇄 (a & b & c)

산출:

{2, 5} {2}

위의 출력은 집합 a, b 및 c의 합집합을 보여줍니다.

Intersection () 함수 사용 :

다음과 같이 interaction () 함수를 사용하여 둘 이상의 집합의 교차점을 확인할 수 있습니다.

예:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ( 'Set a 교차점 b = ', a.intersection (b)) print ('Set a 교차점 b 교차점 c = ', a.intersection (b, c))

산출:

교차점 설정 b = {2, 5}

교차로 설정 b 교차로 c = {2}

위의 출력은 세트 a, b 및 c의 교차점을 보여줍니다.

세트의 차이 :

세트의 차이는 해당 세트 중 하나에 만 존재하는 요소로 구성된 새 세트를 생성합니다. 즉, 해당 집합의 공통 요소를 제외한 모든 요소가 반환됩니다.

이는 두 가지 방법으로 수행 할 수 있습니다.

  • ‘-‘기호 사용
  • 차이 () 함수 사용

‘-‘기호 사용 :

‘-‘기호를 사용하여 두 세트의 차이점을 찾으려면 다음과 같이 할 수 있습니다.

예:

kotlin이 자바보다 낫다.
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print (a-b-c)

산출: {1, 4.6, 7.8,‘r’,‘s’}

출력은‘b’및‘c’에있는 요소를 제외하고‘a’집합의 모든 요소로 구성됩니다.

차이 () 함수 사용 :

세트의 차이는 다음과 같이 내장 된 difference () 함수를 사용하여 판별 할 수 있습니다.

예:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ( 'Set a -b = ', a.difference (b)) print ('Set a-b-c = ', a.difference (b, c))

산출:

a – b = {1, 4.6, 7.8,‘r’,‘s’} 설정

a – b – c = {1, 4.6, 7.8,‘r ',‘s’} 설정

위 출력은 차이 () 함수를 사용한 차이 결과입니다.

이제 세트의 요소를 전혀 변경하지 않으려면 아래에서 설명하는 고정 세트를 사용할 수 있습니다..

냉동 세트 란?

Python에서 고정 된 집합은 값을 수정할 수없는 집합입니다. 이것은 내가 이전에 논의한 일반 세트와 달리 불변임을 의미합니다. 고정 세트는 사전 키-값 쌍에서 키 역할을하는 데 도움이됩니다.

고정 세트를 만드는 방법은 무엇입니까?

frozenset () 메서드를 사용하여 고정 집합을 얻을 수 있습니다. 이 함수는 반복 가능한 항목을 가져와 불변으로 변환합니다.

예:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) print (b)

산출: frozenset ({1, 2, 4.6, 5, 7.8,‘r’,‘s’})

위의 출력은 세트 a의 고정 버전 인 세트 b로 구성됩니다.

고정 된 집합의 요소에 액세스

고정 된 집합의 요소는 다음과 같이 반복하여 액세스 할 수 있습니다.

예:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) for x in b : print (x)

산출:

하나
2
4.6
5
7.8
에스

위의 출력은 for 루프를 사용하여 고정 된 집합 b의 모든 요소가 차례로 반환되었음을 보여줍니다. 고정 된 집합은 변경할 수 없으므로 add (), remove (), update () 등과 같은 작업을 수행 할 수 없습니다. 이 튜토리얼에서 여러분과 공유 한 모든 내용이 명확하기를 바랍니다. 이것으로 Python의 세트에 대한 기사의 끝으로 이동합니다. 가능한 한 많이 연습하고 경험을 되 돌리십시오.

질문이 있으십니까? 이 'Sets in Python'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.

다양한 응용 프로그램과 함께 Python에 대한 심층적 인 지식을 얻으려면 라이브에 등록 할 수 있습니다. 연중 무휴 지원 및 평생 액세스.