관리 메뉴

B_log

리스트(List) 본문

알고리즘 학습

리스트(List)

B_log 2020. 5. 11. 11:02

List의 종류 및 특징

 

- Tuple이 List보다 처리속도가 빠르므로 내용물을 변경하는게 아니라면 튜플을 사용하는 것이 더 좋다.

 

- dictionary는 내용물의 순서가 없어 key의 중복을 허용하지 않는다.

 

- set 역시 내용물의 순서가 없다. 

 

- list는 크기를 변경하는 작업은 내부적으로 큰 overhead 발생작업으로 많은 시간을 소요한다.

  ==> 미리 배열의 크기를 설정한 후 내용물을 변경하는 것이 더 빠르다.

 

- set은 중복을 제거하기위해 내부적으로 Hashing 기법을 사용하는데 이 때문에 불변 객체만 저장이

  가능하다.

 

ex) 리스트를 요소로 가지고있는 리스트를 set으로 변경할 경우 에러 발생

unhashable type -> 리스트는 변경 가능하므로 set의 요소로 사용될 수 없다.

 

- 배열(Array)은 같은 타입의 변수들을 하나의 이름으로 묶어 사용하는 자료구조이지만 파이썬에선 배열이 아닌 리스트를 사용하므로 타입이 달라도 관계 없다.

 

 

- List는 순서를 가진 시퀀싱(Sequencing) 자료형 중 하나이다. 순서가 존재해 인덱싱(인덱스를 통해 요소를 가져옴)과 슬라이싱이 모두 가능하다.

 

리스트 함축(List Comprehension)

- 수학에서 집합을 정의하는 표현식과 유사하다.

   ex) [i for i in range(10) if i % 2 == 0]

 

예시

- 스택 예시 : 괄호 검사

 

- 출처 : https://swexpertacademy.com/main/main.do

 

'알고리즘 학습' 카테고리의 다른 글

검색(Searching)  (0) 2020.05.11
2차원 리스트  (0) 2020.05.11
정렬(Sort)  (0) 2020.05.11
완전검색(Exhaustive Search), Brute Force  (0) 2020.05.11