-
파이썬에서의 자료구조
자료구조명 특징 stack 나중에 들어온 값을 먼저 나갈 수 있도록 해 주는 자료구조(last in first out) queue 먼저 들어온 값을 먼저 나갈 수 있도록 해 주는 자료구조(first in first out) tuple 리스트와 같지만, 데이터의 변경을 허용하지 않는 자료구조 set 데이터의 중복을 허용하지 않고, 수학의 집합 연산을 지원하는 자료구조 dictionary 전화번호부와 같이 키(key)와 값(value) 형태의 데이터를 저장하는 자료구조
여기서 키 값은 다른 데이터와 중복을 허용하지 않음collections 모듈 위에 열거된 여러 자료구조를 효율적으로 사용할 수 있도록 지원하는 파이썬 내장(built-in) 모듈 튜플(tuple)
리스트와 같은 개념이지만, 값을 변경하는 것이 불가능한 리스트
괄호 - ( ) - 를 이용하여 선언
리스트형 데이터에서 사용하는 함수를 모두 사용 가능
튜플은 리스트와 달리 값을 변경할 수 없음
튜플의 값이 하나인 경우에는 a = (1,)와 같이 끝에 반드시 콤마(,)를 붙여 a가 튜플임을 선언해야 함
>>> a = (1,2,3) >>> print(a + a, a * 2) (1, 2, 3, 1, 2, 3) (1, 2, 3, 1, 2, 3) >>> len(a) 3 >>> a[1] = 5 TypeError: 'tuple' object does not support item assignment
세트(set)
값을 순서 없이 저장하면서 중복을 불허하는 자료형
수학의 집합과 개념적으로 유사
>>> s = set([1,2,3,1,2]) >>> s {1, 2, 3} >>> s.add(1) # 중복불가로 추가되지 않음 >>> s {1, 2, 3} >>> s.remove(1) # 1 삭제 >>> s {2, 3} >>> s.update([1,4,5,6,7]) # 리스트 추가 >>> s {1, 2, 3, 4, 5, 6, 7} >>> s.discard(3) # 3 삭제 >>> s {1, 2, 4, 5, 6, 7} >>> s.clear() # 모든 원소 삭제 >>> s set()
집합 연산
>>> s1 = set([1,2,3,4,5]) >>> s2 = set([3,4,5,6,7]) >>> s1.union(s2) # 합집합 {1, 2, 3, 4, 5, 6, 7} >>> s1 | s2 {1, 2, 3, 4, 5, 6, 7} >>> s1.intersection(s2) # 교집합 {3, 4, 5} >>> s1 & s2 {3, 4, 5} >>> s1.difference(s2) # 차집합 {1, 2} >>> s1 - s2 {1, 2}
연산 함수 기호 합집합 union | 교집합 intersection & 차집합 difference – 딕셔너리(dictionary)
키(key)와 값(value)을 쌍으로 데이터를 저장하는 방법
파이썬에서 많이 사용하는 자료구조
dictionary = {키1:값1, 키2:값2, 키3:값3…}
>>> student_info = {20140012:'남도산', 20140029:'서달미', 20150235:'사혜준', 20150098:'안정하’} >>> student_info[20140012] '남도산’ >>> student_info[20150125] = '원해효’ # 추가 >>> student_info {20140012: '남도산', 20140029: '서달미', 20150235: '사혜준', 20150098: '안정하', 20150125: '원해효'} >>> student_info[20150125] = '김진우’ # 재할당 >>> student_info {20140012: '남도산', 20140029: '서달미', 20150235: '사혜준', 20150098: '안정하', 20150125: '김진우'}
'개발 > Python' 카테고리의 다른 글
Python_ split(), join(), 파이썬 스타일 코드 (0) 2021.11.09 Python_ 딕셔너리(dictionary) 함수 (0) 2021.11.08 Python_ 함수 개발 가이드라인 (0) 2021.11.08 Python_ 함수의 인수, 가변인수, 키워드 가변인수, 함수의 리턴값 (0) 2021.11.08 Python_ 함수의 장점, 선언, 함수의 인수 (0) 2021.11.08 댓글 (비로그인 댓글 허용하지 않습니다.)