Python Set은 반복 가능하고 변경 가능하며 중복 요소가 없는 정렬되지 않은 데이터 유형 모음입니다. 집합의 요소 순서는 정의되지 않지만 다양한 요소로 구성될 수 있습니다. 목록과 달리 집합을 사용하는 가장 큰 장점은 특정 요소가 집합에 포함되어 있는지 확인하는 데 고도로 최적화된 방법이 있다는 것입니다. 여기서는 Python에서 집합이 무엇인지 살펴보고 집합 Python의 다양한 예도 살펴보겠습니다.
Python에서 세트 만들기
Python 세트는 내장된 기능을 사용하여 생성할 수 있습니다. 세트() '쉼표'로 구분된 중괄호 안에 시퀀스를 배치하여 반복 가능한 객체 또는 시퀀스와 함께 작동합니다.
파이썬3메모: Python 세트는 변경 불가능하므로 목록이나 사전과 같은 변경 가능한 요소를 가질 수 없습니다.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))>
산출
자바에서 목록 생성
Initial blank Set: set() Set with the use of String: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of an Object: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of List: {'For', 'Geeks'} Set with the use of Tuple: {'for', 'Geeks'} Set with the use of Dictionary: {'for', 'Geeks'}>
시간 복잡도: O(n), 여기서 n은 입력 문자열, 목록, 튜플 또는 사전의 길이입니다.
보조 공간: O(n), 여기서 n은 입력 문자열, 목록, 튜플 또는 사전의 길이입니다.
Python 세트에는 고유한 요소만 포함되어 있지만 세트 생성 시 여러 중복 값이 전달될 수도 있습니다. Python 세트의 요소 순서는 정의되지 않으며 변경할 수 없습니다. 세트의 요소 유형은 동일할 필요가 없으며, 다양한 혼합 데이터 유형 값이 세트에 전달될 수도 있습니다.
무작위로 SQL 순서파이썬3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set with the use of Numbers: ') print(set1) # Creating a Set with a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print('
Set with the use of Mixed Values') print(set1)>
산출
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}>
다른 방법으로 Python 세트 만들기
이 예에서 집합은 숫자 1,2, 3을 포함하는 중괄호 {} 표기법을 사용하여 생성됩니다. Python의 집합 데이터 구조 또는 Python의 순서가 지정되지 않은 집합은 고유 요소의 순서가 지정되지 않은 컬렉션이므로 고유성과 특성이 필요한 작업에 적합합니다. Python에서 작업을 설정합니다.
파이썬3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>
산출
{1, 2, 3}>
Python에서 세트에 요소 추가하기
다음은 Python에서 집합에 요소를 추가할 수 있는 몇 가지 접근 방식입니다.
- add() 메소드 사용
- update() 메소드 사용
add() 메소드 사용
요소를 추가할 수 있습니다.Python의 집합내장된 기능을 사용하여 추가하다() 기능. add() 메소드를 사용하면 한 번에 하나의 요소만 세트에 추가할 수 있으며, 루프는 add() 메소드를 사용하여 한 번에 여러 요소를 추가하는 데 사용됩니다.
파이썬3메모: 목록은 해시 가능하지 않기 때문에 목록을 요소로 집합에 추가할 수 없지만 튜플은 불변이므로 해시 가능하므로 튜플을 추가할 수 있습니다.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)>
산출
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}>
update() 메소드 사용
두 개 이상의 요소를 추가하려면 Update() 메서드를 사용합니다. update() 메소드는 목록, 문자열, 튜플 및 기타 Python 해시 세트를 인수로 허용합니다. 이러한 모든 경우에 중복 요소는 방지됩니다.
int를 문자열로 C++파이썬3
# Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)>
산출
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>
Python에서 세트에 액세스하기
세트 항목은 색인을 참조하여 액세스할 수 없습니다. 세트는 순서가 없고 항목에는 색인이 없기 때문입니다. 그러나 for 루프를 사용하여 Python 해시 세트 항목을 반복하거나 in 키워드를 사용하여 지정된 값이 세트에 있는지 물어볼 수 있습니다.
파이썬3 # Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)>
산출
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>
Python의 세트에서 요소 제거
다음은 Python의 집합에서 요소를 제거할 수 있는 몇 가지 방법입니다.
- Remove() 메서드 또는 Discard() 메서드 사용
- pop() 메소드 사용
- Clear() 메소드 사용
Remove() 메서드 또는 Discard() 메서드 사용
요소는 에서 제거될 수 있습니다.Python의 집합내장된 제거() 함수를 사용하지만 해당 요소가 해시세트 Python에 존재하지 않으면 KeyError가 발생합니다. KeyError 없이 집합에서 요소를 제거하려면 Discard()를 사용하세요. 해당 요소가 집합에 존재하지 않으면 변경되지 않은 채로 유지됩니다.
파이썬3 # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing elements from Set using Remove() method set1.remove(5) set1.remove(6) print('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)>
산출
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}>
pop() 메소드 사용
Pop() 함수를 사용하여 집합에서 요소를 제거하고 반환할 수도 있지만 집합의 마지막 요소만 제거합니다.
파이썬3메모: 세트가 순서가 지정되지 않은 경우 pop() 함수를 사용하여 어떤 요소가 팝되는지 결정할 수 있는 방법이 없습니다.
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing element from the # Set using the pop() method set1.pop() print('
Set after popping an element: ') print(set1)>
산출
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}>
Clear() 메소드 사용
세트에서 모든 요소를 제거하려면 Clear() 함수가 사용됩니다.
파이썬3 #Creating a set set1 = set([1,2,3,4,5]) print('
Initial set: ') print(set1) # Removing all the elements from # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)>
산출
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>
겨울 왕국Python의 집합
냉동 세트 Python에서 고정된 집합이나 적용되는 집합에 영향을 주지 않고 결과를 생성하는 메서드와 연산자만 지원하는 불변 객체입니다. 세트의 요소는 언제든지 수정될 수 있지만 고정된 세트의 요소는 생성 후에도 동일하게 유지됩니다.
매개변수가 전달되지 않으면 빈 Frozenset이 반환됩니다.
구별되게 세다파이썬3
# Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print('The FrozenSet is: ') print(Fset1) # To print Empty Frozen Set # No parameter is passed print('
Empty FrozenSet: ') print(frozenset())>
산출
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>
객체를 세트로 형변환하기
이 예에서는 기울기 , 문자열 및 사전 을 사용하여 세트로 변환됩니다. 세트() 생성자를 사용하여 목록에서 중복 항목을 제거하고 문자열 및 사전 키에서 고유 요소를 추출합니다.
파이썬3 # Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print('my_list as a set: ', my_set) # Typecasting string into set my_str = 'techcodeview.com' my_set1 = set(my_str) print('my_str as a set: ', my_set1) # Typecasting dictionary into set my_dict = {1: 'One', 2: 'Two', 3: 'Three'} my_set2 = set(my_dict) print('my_dict as a set: ', my_set2)>
산출
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}>
예: 모든 기능 구현
이 예에서는 일련의 함수가 일반적인 작업을 보여줍니다.Python의 집합. 여기에는 집합 생성, 요소 추가 및 제거, 집합 지우기, 집합 합집합, 교차, 차이, 대칭 차이, 부분 집합 및 상위 집합 작업 수행이 포함됩니다.
파이썬3 def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()>
산출
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True>
Python에서 Set의 장점
- 독특한 요소 : 세트는 고유한 요소만 포함할 수 있으므로 데이터 컬렉션에서 중복 항목을 제거하는 데 유용할 수 있습니다.
- 빠른 회원 테스트 : 세트는 빠른 멤버십 테스트에 최적화되어 있으므로 값이 컬렉션에 있는지 여부를 결정하는 데 유용할 수 있습니다.
- 수학적 집합 연산: 집합은 데이터 집합 작업에 유용할 수 있는 합집합, 교집합, 차이와 같은 수학적 집합 연산을 지원합니다.
- 변하기 쉬운 : 세트는 변경 가능합니다. 즉, 세트가 생성된 후 세트에서 요소를 추가하거나 제거할 수 있습니다.
단점Python의 집합
- 정렬되지 않은 : 세트는 순서가 없습니다. 즉, 세트에 있는 데이터의 순서를 신뢰할 수 없습니다. 이로 인해 특정 순서로 데이터에 액세스하거나 데이터를 처리하는 것이 어려워질 수 있습니다.
- 제한된 기능: 세트는 Append() 또는 Pop()과 같은 메소드를 지원하지 않으므로 목록에 비해 기능이 제한됩니다. 이로 인해 세트에 저장된 데이터를 수정하거나 조작하기가 더 어려워질 수 있습니다.
- 메모리 사용량: 세트는 특히 소규모 데이터 세트의 경우 목록보다 더 많은 메모리를 소비할 수 있습니다. 이는 세트의 각 요소가 해시 값을 저장하기 위해 추가 메모리가 필요하기 때문입니다.
- 덜 일반적으로 사용됨: 집합은 Python의 목록 및 사전보다 덜 일반적으로 사용됩니다. 이는 집합 작업에 사용할 수 있는 리소스나 라이브러리가 더 적다는 것을 의미합니다. 이로 인해 문제에 대한 해결책을 찾거나 디버깅에 대한 도움을 받기가 더 어려워질 수 있습니다.
전반적으로 세트는 Python에서 유용한 데이터 구조가 될 수 있습니다. 특히 중복 항목을 제거하거나 빠른 멤버 자격 테스트를 수행하는 데 유용합니다. 그러나 순서가 부족하고 기능이 제한되어 목록이나 사전보다 다용도가 떨어질 수도 있으므로 Python 프로그램에서 사용할 데이터 구조를 결정할 때 집합 사용의 장점과 단점을 신중하게 고려하는 것이 중요합니다.
Python에서 메서드 설정
기능 | 설명 |
---|---|
추가하다() | 세트에 요소를 추가합니다. |
제거하다() | 세트에서 요소를 제거합니다. 요소가 세트에 없으면 KeyError를 발생시킵니다. |
분명한() | 세트에서 모든 요소를 제거합니다. |
복사() | 세트의 얕은 복사본을 반환합니다. |
팝() | 임의의 집합 요소를 제거하고 반환합니다. 세트가 비어 있으면 KeyError 발생 |
업데이트() | 자신과 다른 사람의 합집합으로 집합을 업데이트합니다. |
노동 조합() | 새 집합의 집합 합집합을 반환합니다. |
차이점() | 두 개 이상의 집합의 차이를 새 집합으로 반환합니다. |
차이_업데이트() | 이 세트에서 다른 세트의 모든 요소를 제거합니다. |
버리다() | 구성원인 경우 집합에서 요소를 제거합니다. (요소가 세트에 없으면 아무 작업도 수행하지 않음) |
교차점() | 두 집합의 교집합을 새 집합으로 반환합니다. |
교차로_업데이트() | 세트 자체와 다른 세트의 교차점을 업데이트합니다. |
isdisjoint() | 두 세트에 널 교집합이 있는 경우 True를 반환합니다. |
issubset() | 다른 세트에 이 세트가 포함되어 있으면 True를 반환합니다. |
슈퍼세트() | 이 세트에 다른 세트가 포함되어 있으면 True를 반환합니다. |
대칭_차이() | 두 집합의 대칭 차이를 새 집합으로 반환합니다. |
대칭_차이_업데이트() | 자신과 다른 대칭 차이로 집합을 업데이트합니다. |
Python 세트에 관한 최근 기사
프로그램 설정
- 모든 모음을 포함하는 문자열을 받아들이는 프로그램
- 세트를 사용하여 세 목록에서 공통 요소를 찾는 Python 프로그램
- 두 목록에서 누락된 값과 추가 값 찾기
- 두 세트로 구성된 완전한 문자열 쌍
- 주어진 문자열이 헤테로그램인지 아닌지 확인
- 세트의 최대값과 최소값
- 세트에서 항목 제거
- Python 중복된 배열에서 손실된 요소를 찾기 위해 차이 설정
- Counter를 사용하여 고유 요소가 있는 하위 집합의 최소 수
- 두 목록에 하나 이상의 공통 요소가 있는지 확인하십시오.
- 주어진 문자열의 집합을 사용하여 모음 수를 계산하는 프로그램
- 두 목록의 차이점
- 문자열이 파나그램인지 확인하도록 Python이 설정되었습니다.
- Python 집합 연산(합집합, 교집합, 차이 및 대칭 차이)
- Python에서 일반적이지 않은 문자가 포함된 문자열 연결
- 빈도가 동일해질 수 있는지 확인하는 Python 사전, 세트 및 카운터
- Python Pangram 검사에서 Set() 사용
- n 배열의 합집합을 수행하도록 Python에서 update()를 설정합니다.
유용한 링크
- Python 프로그램의 출력 - 세트
- Python 세트에 관한 최근 기사
- 객관식 질문 – Python
- Python 카테고리의 모든 기사