본문 바로가기
Programming/Python

03. 자료형을 이용한 자료관리

by goatlab 2021. 12. 8.
728x90
반응형
SMALL

Sequence

 

python에는 세 가지 시퀀스 (sequence) 자료형이 있다. 각각의 요소들이 연속적으로 이어진 string, tuple, list 문자열 수치 관리하는 기본 자료형

 

  • 문자열 (string) : 'Hello'. 문자열(string)은 문자(character)들의 sequence

  • 리스트 (list) : 자료 수정이 자유로움. [1, 4, 5]

  • 튜플 (tuple) : 숫자와 문자를 함께 관리. ('Good', 10, 49.2)

 

슬라이싱 (Slicing)

 

sequence의 일부(subsequence)를 취하는 것을 슬라이싱이라 한다. s[start:end] 구문을 사용한다. start와 end는 얻고자 하는 subsequence의 인덱스다.

 

a = [0,1,2,3,4,5,6,7,8,9]

a[2:5]
-->[2,3,4]

a[-5:]
--> [4,5,6,7,8,9]

a[:3]
--> [0,1,2]

 

슬라이스 재할당 (re-assignment)

 

list에서 슬라이스를 다시 할당하거나 삭제할 수 있다.

 

a = [0,1,2,3,4,5,6,7,8,9]
a[2:4] = [10,11,12]
--> [0,1,10,11,12,4,5,6,7,8,9]

del a[2:4]
--> [0,1,4,5,6,7,8]

 

Dictionary : {} , 정렬되지 않은 키값의 

 

사람은 누구든지 "이름" = "XX", "날짜" = "몇 월 며칠" 등으로 구별할 수 있다. python은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있다. 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 갖고 있는데, 이를 연관 배열 (Associative array) 또는 해시 (Hash)라고 한다. 

 

python에서 이러한 자료형을 딕셔너리 (dictionary)라고 하는데, 단어 그대로 해석하면 사전이라는 뜻이다. 즉 "people"이라는 단어에 "사람", "baseball"이라는 단어에 "야구"라는 뜻이 부합되듯이 dictionary는 Key와 Value를 한 쌍으로 갖는 자료형이다. 예컨대 Key가 "baseball"이라면 Value는 "야구"가 될 것이다. 

 

dictionary는 list나 tuple처럼 순차적으로 (sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는다. 이것이 바로 dictionary의 가장 큰 특징이다. baseball이라는 단어의 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가 있는 곳만 펼쳐 보는 것이다.

 

{Key1:Value1, Key2:Value2, Key3:Value3, ...} # dictionary의 기본형
dic = {'name':'ki', 'phone':'010XXXXXXXX', 'birth': '0101'}

dic['phone']
--> '010XXXXXXXX'

a = { 'a': [1,2,3]} # Value에 list도 넣을 수 있다.

del dic['name']
--> 'phone': '010XXXXXXXX', 'birth': '0101'

 

Set : {}, 자료 추출하고 싶을 , 집합연산

 

  • 중복을 허용하지 않는다.
  • 순서가 없다(Unordered).
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

s1 & s2 # 교집합
s1.intersection(s2)
--> {4, 5, 6}

s1 | s2 # 합집합
s1.union(s2)
--> {1, 2, 3, 4, 5, 6, 7, 8, 9}

s1 - s2 # 차집합
s1.difference(s2)
--> {1, 2, 3}

 

https://wikidocs.net/1015

https://wikidocs.net/16

 

02-5 딕셔너리 자료형

[TOC] ## 딕셔너리란? 사람은 누구든지

wikidocs.net

 

728x90
반응형
LIST

'Programming > Python' 카테고리의 다른 글

06. 함수 (Function)  (0) 2021.12.08
05. 제어문 (If, For, While)  (0) 2021.12.08
04. 표준입출력  (0) 2021.12.08
02. 자료형과 연산자  (0) 2021.12.08
01. Intro  (0) 2021.12.08