세트
Python의 집합은 다른 언어와 유사하며 반복되지 않는 요소의 순서가 지정되지 않은 집합입니다. 기본 기능에는 관계 테스트 및 중복 요소 제거가 포함됩니다. Set은 dict와 유사하지만 set은 값을 저장하지 않습니다.
1. 세트 생성
세트를 생성하려면 입력 세트로 목록을 제공해야 합니다
set1=set([123,456,789]) print(set1)
출력 결과:
{456, 123, 789}
전달된 매개 변수 [123,456,789]는 목록이며 표시되는 {456, 123, 789} 이 세트 안에는 3개의 요소 456, 123, 789가 있다는 점을 말씀드리고 싶습니다. 표시 순서가 매개변수 목록의 요소 순서와 일치하지 않습니다. 세트는 순서가 없습니다.
한 가지 더, 출력 결과가 중괄호 안에 있음을 관찰했습니다. 이전 연구를 통해 tuple(튜플)은 괄호를 사용하고, list(리스트)는 대괄호를 사용하고, dict(딕셔너리)는 중괄호를 사용한다는 것을 알 수 있습니다. dict도 순서가 없지만 dict는 키-값 쌍을 저장하는 반면 set은 키 값만 저장하는 것으로 이해될 수 있습니다.
dict(사전)를 생성할 때 중복 키는 후속 키-값 값으로 덮어쓰이고 중복 요소는 집합에서 자동으로 필터링된다는 점을 기억하세요.
set1=set([123,456,789,123,123]) print(set1)
출력 결과:
{456, 123, 789}
2. set에 요소 추가
add(key) 메소드를 통해 set에 요소를 추가할 수 있지만, 반복적으로 추가할 수는 있지만 결과는 없습니다.
set1=set([123,456,789]) print(set1) set1.add(100) print(set1) set1.add(100) print(set1)
출력 결과는 다음과 같습니다. :
{456, 123, 789} {456, 123, 100, 789} {456, 123, 100, 789}
3. Set은 요소를 삭제합니다
remove(key) 메소드를 통해 set의 요소를 삭제할 수 있습니다
set1=set([123,456,789]) print(set1) set1.remove(456) print(set1)
출력 결과:
{456, 123, 789} {123, 789}
4 set을 사용하면 됩니다. 반복되지 않는 요소의 순서가 지정되지 않은 집합이므로 두 집합은 수학적 의미에서 결합, 교차, 차이 및 기타 연산을 수행할 수 있습니다.
예:
set1=set('hello') set2=set(['p','y','y','h','o','n']) print(set1) print(set2) # 交集 (求两个 set 集合中相同的元素) set3=set1 & set2 print('\n交集 set3:') print(set3) # 并集 (合并两个 set 集合的元素并去除重复的值) set4=set1 | set2 print('\n并集 set4:') print(set4) # 差集 set5=set1 - set2 set6=set2 - set1 print('\n差集 set5:') print(set5) print('\n差集 set6:') print( set6) # 去除海量列表里重复元素,用 hash 来解决也行,只不过感觉在性能上不是很高,用 set 解决还是很不错的 list1 = [111,222,333,444,111,222,333,444,555,666] set7=set(list1) print('\n去除列表里重复元素 set7:') print(set7)실행 결과:
{'h', 'l', 'e', 'o'} {'h', 'n', 'o', 'y', 'p'} 交集 set3: {'h', 'o'} 并集 set4: {'h', 'p', 'n', 'e', 'o', 'y', 'l'} 差集 set5: {'l', 'e'} 差集 set6: {'p', 'y', 'n'} 去除列表里重复元素 set7: {555, 333, 111, 666, 444, 222}