Notice
Recent Posts
Recent Comments
Link
매일 매일 미라클 코딩
유용한 파이썬 문법 - 자료구조형 Data Type (튜플/셋) 본문
리스트 타입은 원래도 많이 쓰지만
튜플, 셋, 딕셔너리 타입은 데이터 타입의 속성만 알아도 해결할 수 있는 문제가 많아진다.
튜플: 값을 여러개 묶어서 하나처럼 사용한다. 순서가 중요하며 읽기 전용이다
a,b,c, = 10,20,30
(a,b,c) = (b,c,a) #튜플 객체 끼리의 복사
print(a,b,c) #결과: [20, 30, 10]
def arith(a,b):
return a+b, a-b, a*b, a/b #파이썬에서는 한번에 여러개 리턴이 가능하다. 튜플 타입으로 반환하기 때문.
n1, n2, n3, n4 = arith(4,2)
print(n1, n2, n3, n4)
#결과 : 6, 2, 8, 2.0
셋: 순서가 없는 집합. 중괄호 { } 를 사용한다.
합집합, 교집합, 차집합 개념을 직접 연산으로 옮기는 함수를 제공한다.
코딩테스트에서 매우 유용하다.
a={1,2,3,4}
b={3,4,5,6}
c = a.union(b) #합집합연산
print(c)
c = a.intersection(b) #교집합 연산
print(c)
c= a-b #차집합연산
print(c,type(c))
결과:
{1, 2, 3, 4, 5, 6}
{3, 4}
{1, 2} set<class 'set'>
형변환
리스트 - 튜플 - 셋 간에는 자유로운 변환이 가능하다
a= [1,2,3,3,4,5,5,5,6,7]
print(a,type(a))
b=set(a)
print(b,type(b)) #결과: {1,2,3,4,5,6,7} <class 'set'>
c=tuple(b)
print(c,type(c)) #결과: (1,2,3,4,5,6,7) <class 'tuple'>
set() 함수로 리스트를 집합으로 변경하면 중복되는 원소가 사라진 것을 볼 수 있다.
tuple() 함수를 사용하면 중괄호에서 소괄호로 변경된다.
값 삭제, 추가
s = set([1,2,3])
s.add(4) # ([1,2,3,4])
s.update([3,4,5,6]) # ([1,2,3,4,5,6])
s.remove([3]) # ([1,2,4,5,6])
한개의 값을 추가 할 때는 add(), 여러 원소를 추가할 때는 update() 를 사용한다.
집합 자료형이므로 중복은 제거된 채 원소를 추가한다.
특정 값을 제거할 때는 remove() 를 이용한다.
'알고리즘 > PYTHON' 카테고리의 다른 글
| 유용한 파이썬 문법 - 자료구조형 Data Type (딕셔너리) (0) | 2021.04.22 |
|---|---|
| 유용한 파이썬 문법 - 자료구조형 Data Type(리스트) (0) | 2021.04.22 |
| 유용한 파이썬 문법 - 문자열 (0) | 2021.04.22 |
| 알고리즘 with 파이썬 (7) - BFS 너비 우선 탐색 개념 (0) | 2021.04.06 |
| 알고리즘 with 파이썬 (6) - DFS 깊이 우선 탐색 개념 (0) | 2021.04.05 |