Computer science/Algorithm

파이썬 자료형 : tuple, list, dictionary, set

잔망루피 2020. 1. 27. 23:53

안녕하세요 : ) 오늘은 파이썬의 자료형에 대해 알아보겠습니다.

 

자료형은 데이터를 저장할 수 있는 컨테이너입니다.

저는 자료형 중에서 tuple, list, dictionary, set을 설명하겠습니다.

 

  기호 순서 중복 데이터 변경 예시
list [ ] O O O ex_list=[1,2,"abc"]
tuple ( ) O O X ex_tuple=(1,2,3)
dictionary { } X key는 중복 불가
값은 중복가능
O ex_dic={"name":"happy","age":22}
set { } X X O ex_set=set("hi")
ex_set=set([11,22,3])


ex_set={1,2,3,4}

list는 배열과 달리 다양한 데이터들을 저장할 수 있다.

tuple이 list보다 속도가 빠르다. 일반적으로 list를 많이 사용하지만 데이터 변경이 필요하지 않는 상황에서는 list보다 tuple을 쓰도록 하자.

list와 tuple은 데이터의 순서가 존재하기 때문에 sequence 자료형이라고 부른다.

시퀀스 자료형은 인덱싱(Indexing)과 슬라이싱(Slicing) 연산이 가능하다.

Indexing은 하나의 요소를 인덱스 연산자를 통하여 참조하는 것이다.

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

a[0]=1이므로 결과값 1이 반환된다.

 

Slicing은 시퀀스 자료형에서 원하는 범위를 선택하는 연산이다.

ab=[1,2,"happy","new","year"]
ab[2:5]

위 코드를 실행하면 ['happy', 'new', 'year']이 얻어진다.

주의할 점은 출력하고싶은 요소의 위치+1이라는 거다.

 


Q. dictionary와 set의 차이가 무엇인가요?

  dictionary set
개념 key로 값을 찾는 해쉬 테이블(hash table)구조를 가진다. 집합
저장 key는 불변의 객체만
값은 불변, 가변 둘다 가능
불변의 객체만

 

반응형

'Computer science > Algorithm' 카테고리의 다른 글

2차원 List  (0) 2020.02.01
정렬  (0) 2020.01.31
Greedy Algorithm(탐욕 알고리즘)  (0) 2020.01.28
Exhausitive Search(완전 검색)  (0) 2020.01.28
알고리즘  (0) 2020.01.27