본문 바로가기
자료구조및알고리즘

(Python)Iterable 한 자료형 List, Tuple, Dictionary, Set

by windy7271 2022. 5. 11.
728x90
반응형

Python 의 가장 큰 장점인 Iterable 

 

Python 에서 Iterable하다 의미는 "반복 가능한" 을 의미, 즉 객체에 적용되는 의미 반복 가능한 데이터 타입은 순서형 및 컬렉션 자료형

반복 가능한 데이터 타입은 하나하나를 개별로 리턴할수 있음

Python 에서 iterable 한 객체로 생성된 객체를 "iterator"로, iterator로 생성된  함수를 "generator" 라 칭함

 

Python 대표적인 iterable 자료형은

 

List, Tuple

Dictionary, Set

 

 

List  

숫자 모음을 숫자나 문자열로 표현하기 쉽게 해줌

추가 수정 삭제가 자유로움

 

문자열처럼 인덱싱과 슬라이싱이 가능함

 

a = [1,2,3]
a[0] = 1

출처:https://wikidocs.net/14

Tuple

 List와 유사하지만 Tuple은 한 번 정의하고 나면 값 접근은 가능

 추가, 수정, 삭제가 불가능

 

인덱싱과 슬라이싱은 가능

 

 

앞에 List, Tuple 과 다르게

Dictionary, Set 은 메모리에 연속적으로 공간을 차지하는게 아니라 해쉬 함수로 나온 값을 바탕으로 메모리 공간에 저장된다.

순서가 없는 자료형이기때문에 인덱싱과 슬라이싱도 불가능하다.

 

출처:https://wikidocs.net/15

Dictionary

Dictionary 는 key 와 value 쌍으로 표현되는 자료형이다

 

파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있다. 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 갖고 있는데, 이를 연관 배열(Associative array) 또는 해시(Hash)라고 한다.

 

List와 Tuple은 인덱스로 값을 조회했지만 딕셔너리는 key를 통해 값을 조회한다.

Dictionary 는 값 추가,수정,삭제가 자유롭다.

출처:https://wikidocs.net/16

Set

 

Set은 수학의 집합과 비슷한 자료형이다 . 중복을 허용하지 않고, 순서가 없습니다. 사실 수학의 집합 개념을 사용하거나, 중복을 제거하는 용도가 아니면 자주 사용하지는 않는다.

Set 추가, 수정, 제거가 자유롭다

그러나 다른 iterable 자료형에 비해 문법적으로 조금 다르다

 

ex) update delete

 

Set은 중복을 허용하지 않기 때문에, List와 같은 자료형에서 중복된 값을 없애기 위해서 자주 사용됩니다.

 

출처:https://wikidocs.net/1015

 

 

출처:https://planbs.tistory.com/entry/Python-Iterable-%EC%9E%90%EB%A3%8C%ED%98%95-Dictionary-Set?category=653588

 

반응형

댓글