습관처럼
python - set :집합 본문
set은 집합 자료형이다. 정해진 순서가 없고 중복을 허용하지 않기 때문이다.
그래서 set은 중복을 제거할때도 유용하게 이용된다.
set:
set의 추가, 다중추가, 제거:
def solution():
a_set={1,2,3} #set의 기본적인 표현 {}를 사용한다.
b_set=set([1,2,3,4]) #set은 리스트를 바꿔어서 사용가능하다.
c_set=set([1,1,1,2,2,2,3,3,3,4]) #{1,2,3,4}
c_set.add(5) #{1,2,3,4,5}
c_set.update([6,7,8]) #{1,2,3,4,5,6,7,8}
c_set.remove(1) #{2,3,4,5,6,7,8}
#[2, 3, 4, 5, 6, 7, 8] set은 순서가 없기 때문에 인덱스에 접근하려면 리스트로 변경해야한다.
print(list(c_set))
if __name__ == '__main__':
solution()
set 집합 연산(교집합, 합집합, 차집합)
def solution():
set1 = set(["a","b","c","c"]) #중복이 존재하지 않는다 c는 한개
set2 = set(["c","c","d","e"])
set3 = set() # 공집합
print(set1 & set2) # set1과 set2의 교집합 {'c'}
print(set1.intersection(set2)) # set1과 set2의 교집합 {'c'}
print(set1 | set2) # set1과 set2의 합집합 {'e', 'd', 'a', 'c', 'b'}
print(set1.union(set2)) # set1과 set2의 합집합 {'e', 'd', 'a', 'c', 'b'}
print(set1 - set2) # 순수 set1 {'b', 'a'}
print(set1.difference(set2)) # 순수 set1 {'b', 'a'}
print(set2.difference(set1)) # 순수 set2 {'e', 'd'}
print(set1 ^ set2) # set1과 set2의 합집합에서 교집합을 뺀 차집합 {'e', 'd', 'b', 'a'}
if __name__ == '__main__':
solution()
'Language > python' 카테고리의 다른 글
python - lambda (0) | 2019.12.22 |
---|---|
python - 내장함수 (0) | 2019.12.22 |
python - append 그리고 extend (0) | 2019.12.21 |
python - List (0) | 2019.12.21 |
python - map,filter,reduce: 조건 변형 (0) | 2019.12.09 |