1. [파이썬] 리스트 (list)
ㅇ 순서가 있는 값의 나열
2. [파이썬] 리스트 처리 例)
ㅇ 직접 값 대입하기 : l = ['red','green','blue']
ㅇ 특정 위치 식별 : l[2] => ['blue'] 및 l.index('blue') => 2
ㅇ 역순 출력 : l[::-1] => ['blue','green','red']
ㅇ 리스트 포함 리스트 : l = [1,2,[3,4]] => [1,2,[3,4]]
ㅇ 튜플 ()로써 리스트 생성 : l = list((2,3,4)) => [2,3,4]
ㅇ 특정 범위 만들기 : l = list(range(3,7)) => [3,4,5,6]
ㅇ while 문 : while l : => 리스트 l의 원소 개수가 0 보다 크면 반복 계속
ㅇ 슬라이싱 : l = [1,2,3,4,5]; l[3:] => [4,5]; l[1:4:2] => [2,5]; l[:3] => [1,2,3]
- (형식) [start:end:step]
3. [파이썬] 리스트의 특징
ㅇ 배열 특징도 포함
- 즉, 인덱싱으로 값에 바로 접근 가능 등
- 통상, 배열,인접리스트 등을 파이썬에서는 리스트 기본 자료형으로 구현
ㅇ 순서 있음 (Sequence)
- 순서대로 저장되는 시퀸스 자료구조
- 한편, 파이썬에서, 시퀸스 형태가 가능한 자료구조로는, => 리스트,문자열,튜플 등
. (특징) 순서있음, 인덱싱 가능, 슬라이싱 가능
ㅇ 가변 객체 타입 (Mutable)
- 생성 후에도 그 값의 내용을 바꿀 수 있는 객체
ㅇ 가장 유연한 컬렉션 객체 타입 (다용도 자료형)
- 스택,큐 등에서 구현되는 모든 연산이 가능
ㅇ 모든 자료형 및 객체를 원소로 포함 가능
- 여러 자료형을 하나로 묶어 처리하기에 편리
4. [파이썬] 리스트의 연산, 연산자
ㅇ 가능 연산
- 크기 확인 : len(list)
- 요소 멤버쉽 확인 : element in list
- 최대, 최소 : max(list), min(list)
ㅇ 제공 연산자
- + (리스트 추가,이어붙이기)
. 例) l + ['black'] 또는 l.append('black') => ['red','green','blue','black']
- * (리스트 요소 반복 생성)
. 例) [1,2] * 3 => [1,2,1,2,1,2]
- [] (빈 리스트 만들기)
. 例) l = [] 또는 l = list()
- [:]
- in
5. [파이썬] 리스트 메소드
ㅇ 요소의 추가,제거,추출
- 요소 추가
. 맨 뒤 요소 덧붙임 : list.append(e)
. 중간 요소 삽입 : list.insert(i,e)
. 리스트 덧붙임 : list.extend(list2)
- 요소 제거 : list.remove(i), list.clear()
- 요소 추출 : list.pop(), list.pop(i)
* 요소 삭제 例) a = [1,2,3,4,5]
. 인덱스로 삭제하기 : del a[1] => a = [1,3,4,5]
. 값으로 삭제하기 : a.remove(4) => a = [1,2,3,5]
. 추출로 삭제하기 : a.pop(2) => 3이 추출되고, a = [1,2,4,5]
ㅇ 요소의 분할,합침
- 요소 분할 : list.split()
- 요소 합침 : delimiter.join(list)
ㅇ 요소의 정렬
- 요소 정렬 : list.sort()
. 순서 : 오름차순 : sort(), 내림차순 : sort(reverse = TRUE)
. 키 : sort(key = 키 지정 함수)
- 순서 뒤집기 : list.reverse()
ㅇ 요소의 검색
- 갯수 검색 : list.count(e)
. 일치하는 원소의 개수 확인
- 인덱스 검색 : list.index(e)
. 일치하는 원소의 인덱스 확인
ㅇ [참고사항]
- 스택 구현시 : list.append(e), list.pop(), len(list)