-
[python]파이썬 기초/중복과 순서가 없는 집합/집합 연산자와 메소드/내장함수 zip()과 enumerate()/시퀀스 간의 변환Languages/python 2021. 4. 7. 17:38반응형
원소는 유일하고 순서는 의미 없는 집합
집합은 중복되는 요소가 없으며,순서도 없는 원소의 모임
내장 함수 set()을 활용한 집합 생성
함수 set() 호출로 공집합 만들기
수정 가능한 리스트와 딕셔너리는 집합의 원소로 사용 불가!
인자의 순서는 중요하지 않다!
리스트나 딕셔너리는 집합의 원소로 사용할 수 없다
예제)
한 글자 단어로 구성된 집합 만들기
planet = set('해달별') fruits = set(['감','귤']) nuts = {'밤','잣'} things = {('밤','잣'),('감','귤'),'해달'} print(planet) print(fruits) print(nuts) print(things) ====================== RESTART: C:/Users/study/파이썬 연습과제/atrdshfd.py ===================== {'별', '해', '달'} {'감', '귤'} {'밤', '잣'} {('밤', '잣'), ('감', '귤'), '해달'} >>>
집합의 원소 추가와 삭제
keword)
{1,2}.(dot) 메소드가 뜬다
집합 메소드 add(원소)로 추가
집합 메소드 remove(원소)
discard
pop()
clear()
odd={1,3,5} odd.add(7) print(odd) print() odd.remove(7) print(odd) print() odd.discard(3) print(odd) print() print(odd.pop()) print() print(odd) print() odd.clear() print(odd) ====================== RESTART: C:/Users/study/파이썬 연습과제/atrdshfd.py ===================== {1, 3, 5, 7} {1, 3, 5} {1, 5} 1 {5} set()
합집합
집합 연산과 벤 다이어그램
합집합 연산자 | 와 메소드 union(), update()
교집합
연산자 &와 메소드 intersection()
차집합
연산자 -와 메소드 difference()
여집합
여집합 연산자 ^와 메소드 symmetric_difference()
집합 연산의 축약 대입연산자 |=,&=,-=,^=와 메소드 intersection_update() 등
a = {4,6,8,10,12} b = {3,6,9,12} print(a|b) print(a.union(b)) print() print(a&b) print(a.intersection(b)) print() print(a-b) print(a.difference(b)) print() print(a^b) print(a.symmetric_difference(b)) ========= RESTART: C:/Users/study/파이썬 연습과제/study.py ========= {3, 4, 6, 8, 9, 10, 12} {3, 4, 6, 8, 9, 10, 12} {12, 6} {12, 6} {8, 10, 4} {8, 10, 4} {3, 4, 8, 9, 10} {3, 4, 8, 9, 10} >>>
내장 함수 zip()
몇 개의 리스트나 튜플의 항목으로 조합된 튜플을 생성
동일한 수로 이루어진 여러 개의 튜플 항목 시퀀스를 각각의 리스트로 묶어 주는 역할을 하는 함수
함수 zip()의 결과는 자료형 zip
자료형 zip는 간단히 리스트나 튜플로 변환
>>> a = ['a','b','c','d'] >>> b = (20,30,40,50) >>> z= zip(a,b) >>> type(z) <class 'zip'> >>> list(zip(a,b)) [('a', 20), ('b', 30), ('c', 40), ('d', 50)] >>> tuple(zip(a,b)) (('a', 20), ('b', 30), ('c', 40), ('d', 50)) >>> list(zip('ABCD',a,b)) [('A', 'a', 20), ('B', 'b', 30), ('C', 'c', 40), ('D', 'd', 50)]//항목이 3개인 튜플
내장함수 enumerate()
0부터 시작하는 첨자와 항목 값의 튜플 리스트를 생성
>>> lst = [10,20,30] >>> list(enumerate(lst)) [(0, 10), (1, 20), (2, 30)] >>> list(enumerate([10,20,30],start =1)) [(1, 10), (2, 20), (3, 30)] >>> list(enumerate(lst)) [(0, 10), (1, 20), (2, 30)] >>> lst = 'python' >>> list(enumerate(lst)) [(0, 'p'), (1, 'y'), (2, 't'), (3, 'h'), (4, 'o'), (5, 'n')]
시퀀스 간의 변환
-튜플과 시퀀스 간의 변환
-리스트와 집합 간의 변환
space = '밤','낮','해','달' print(space) print(list(space)) print() singer = ['별','노라조','별','블핑'] print(singer) print(tuple(singer))//튜플과 시퀀스 간의 변화 print() print(singer) print(set(singer))//리스트 집합 간의 변환 ====================== RESTART: C:/Users/study/파이썬 연습과제/atrdshfd.py ===================== ('밤', '낮', '해', '달') ['밤', '낮', '해', '달'] ['별', '노라조', '별', '블핑'] ('별', '노라조', '별', '블핑') ['별', '노라조', '별', '블핑'] {'노라조', '블핑', '별'}
딕셔너리를 다른 시퀀스로 변환하면 항목이 키로만 구성
game = dict(일월='소나무',이월='매화',삼월='벚꽃',사월='등나무') lgame = list(game) print(game) print(tuple(game)) print(set(game)) ====================== RESTART: C:/Users/study/파이썬 연습과제/atrdshfd.py ===================== {'일월': '소나무', '이월': '매화', '삼월': '벚꽃', '사월': '등나무'} ('일월', '이월', '삼월', '사월') {'삼월', '사월', '이월', '일월'}
반응형'Languages > python' 카테고리의 다른 글
[python]파이썬 특정 기능 수행 정의 함수/내장 함수/지역변수/전역변수/람다 함수/가변인자/딕셔너리인자/라이브러리/함수 map()/... (2) 2021.04.14 [python] 파이썬 딕셔너리,내장함수 zip 을 이용한 예제/파이썬을 이용한 가위바위보 예제 (1) 2021.04.10 [python]파이썬 딕셔너리/딕셔너리 함수/dict()/딕셔너리 메소드 (0) 2021.04.07 [python]리스트 개념과 생성/항목 참조/항목 수정/중첩 리스트 (0) 2021.04.01 [python]달 출력 예제/while문을 이용한 사칙연산 계산기 예제 (0) 2021.03.24