python - set :집합

2019. 12. 21. 23:44·Language/python

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
'Language/python' 카테고리의 다른 글
  • python - lambda
  • python - 내장함수
  • python - append 그리고 extend
  • python - List
dev.wookii
dev.wookii
Effort Maketh Happiness
  • dev.wookii
    습관처럼
    dev.wookii
  • 전체
    오늘
    어제
    • 분류 전체보기 (295)
      • Language (35)
        • python (13)
        • C++ (22)
      • Kaggle (4)
      • Algorithms (112)
        • BOJ (58)
        • programmers (43)
        • SWExpertAcademy (2)
      • Certification (38)
        • Adsp (0)
        • Sqld (28)
        • 정처기 (9)
        • 빅데이터 분석기사 (0)
      • Data Analysis & ML (6)
      • 금융 & 디지털 (65)
      • CS (32)
        • DB (2)
        • SE (3)
        • Web&JSP (1)
        • Network (11)
        • OS (2)
        • Linux&Unix (6)
        • Server (1)
        • UX,UI (1)
        • 보안 (5)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    2020 KAKAO
    시뮬레이션
    Ebay korea #coding test
    programmers
    funny algorithms
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.wookii
python - set :집합
상단으로

티스토리툴바