파이썬 시퀀스 구조 - (1) 리스트
데이터 타입이 원자(atom) 라면, 자료구조는 분자(molecule)에 해당
즉, 데이터 타입의 결합임
시퀀스 구조
- 항목의 정수 위치로 시퀀스의 항목을 나타냄
 - 문자열은 문자의 시퀀스, 리스트는 모든 것의 시퀀스
 - 리스트와 튜플 - 0 혹은 그 이상의 항목을 포함, 어떤 객체도 요소가 될 수 있음. 
 
리스트 list
- 변경가능 mutable
 - 데이터의 순차적 파악에 유용
 - 내용의 순서가 바뀔 수 있는 경우에 유용
 - 동일한 값이 여러번 나타날 수 있음
 
생성  | 
empty_list =[] 또는 empty_list = list()  | 
 데이터타입 변환  | 
list()  | 
오프셋으로 항목 얻기  | 
0부터 시작 음수의 인덱스는 끝에서 거꾸로 값을 추출 범위 벗어나면 list index out of range  | 
 리스트의 리스트   | 
all_books[1][0] 두번재 항목의 첫번째 항목  | 
오프셋으로 항목 바꾸기  | 
  | 
슬라이스로 항목 추출  | 
리스트의 슬라이스 또한 리스트 all_books[0:2] all_books[::2] 처음부터 2칸식 항목 추출 all_books[::-2] 끝에서 왼쪽으로 2칸씩 항목 추출 all_books[::-1] 리스트 반전  | 
끝에 항목추가  | 
append()   | 
병합  | 
 extend() 또는 +=   | 
원하는 위치에 항목추가  | 
insert()   | 
 항목삭제  | 
del all_books[-1]   * del은 리스트 함수가 아니라 파이썬 구문임에 주의. 즉, all_books[-1].del() 은 수행불가  | 
값으로 항목 제거  | 
remove()   | 
오프셋으로 항목 제거  | 
all_books.pop(-1)  | 
항목찾기  | 
all_books.index('Bible')  | 
존재여부 확인  | 
Bible in all_books  | 
값세기  | 
count()  | 
문자열 변환  | 
join() ↔ split()  문자열 메서드 join() 의 인자는 반복가능한 iterable 한 문자열의 시퀀스(리스트) 결과로 반환되는 값은 문자열 friends = ['Harry', 'Tom', 'Cindy'] seperator = ' * ' joined = seperator.join(friends) joined 'Harry * Tom * Cindy'  | 
| 정렬하기 | sort() 리스트 자체 내부적 정렬 - 기본정렬은 오름차순, 내림차순의 경우 numbers.sort(reverse=True) sorted() 리스트 정렬의 복사본 반환  | 
항목 개수 얻기  | len()  | 
할당  | =   | 
복사  | copy() list() [:]  | 
![]()  | 
  | 
