1. 리스트 생성
1) 리스트 = [ ] : 공백 리스트 생성
2) 리스트 = [요소1,요소2,요소3...] : 요소들을 쉼표로 나열하여 생성
3) 리스트 = list( ) : 공백리스트 생성, list( )함수는 다른 시퀀스를 리스트로 변경 가능
2. 리스트 슬라이싱
문자열 슬라이싱과 동일
3. 리스트 요소 수정 (=인덱스와 대입연산자 사용)
ex) alist[5] = 5
연속된 범위 값 수정 가능
4. 리스트 복사
1) 리스트2 = 리스트.copy( ) : 동일 내용으로 새로운 리스트 생성
2) 리스트2 = 리스트 + [ ]
3) 리스트2 = 리스트[:]
4) 주의 : 리스트2 = 리스트 “ 동일 내용으로 새로운 이름을 생성(원본리스트에 새 이름 추가)
5. 리스트 요소 추가
1) 리스트.append(요소) : 리스트 끝에 요소 추가
2) 리스트.insert(인덱스, 요소) : 인덱스 위치에 요소를 삽입
3) 리스트.extend(리스트2) : 리스트 마지막에 리스트2 요소들이 추가
4) + : 두 리스트를 더하여 하나의 리스트를 생성(새로운 리스트) 주의 : 피연산자 모두 리스트여야 함
6. 리스트 요소 삭제
1)리스트.remove(요소) : 리스트에 있는 요소들을 찾아 삭제 (단, 동일한 것이 있더라도 첫 번째 것만 삭제), 삭제할 것이 없으면 에러
2) del리스트[인덱스] : 인덱스에 해당하는 요소를 삭제, del(리스트[인덱스])
3) del리스트[인댁스1 : 인덱스2] : 두 인덱스 (인덱스1 ~ (인덱스2 –1))사이에 있는 요소들을 삭제
del(리스트[인덱스]) 형태로 쓰는 것 가능
4) 리스트[인덱스1 : 인엑스2] = [ ]
# 인덱스1 ~ 인덱스(2 –1) 사이에 있는 요소들 삭제
5) 리스트.pop() : 리스트의 맨 마지막 요소를 삭제하면서 반환
6) 리스트.pop(인덱스) : 해당 인덱스 위치의 요소를 삭제하면서 요소를 반환
7) 리스트.clear() : 리스트의 모든 요소를 삭제, del list[:], list[:]=[ ], list1=[ ]
주의 : del list1 이라고 하면 변수 자체가 소멸
7. 리스트 탐색
1) 리스트.index(요소) : 요소가 몇 번 인덱스에 있는지 찾아 인덱스 값 반환
(동일한 요소가 있더라도 첫 번쨰 찾은 요소의 인덱스 만 반환), 해당 요소가 없으면 에러
2) 리스트.index(요소, start, end) : start ~ end-1) 까지의 위치에서 해당 요소를 찾아 인덱스 위치 반환
8. 리스트 정렬
1) 리스트.sort() : 정렬하는데 사용, 원본 리스트를 변경, 오름차순 정렬
2) 리스트.sort(reverse = True) : 내림차순 정렬
3) 리스트.reverse() : 리스트의 요소 순서를 역순으로 변경, 정렬이 아님을 주의, 원본리스트를 변경
4) 정렬된 새로운 리스트가 필요한 경우 : sorted(리스트) 함수 사용
ex) list2 list1.sorted(X) list2 = sorted(list1)(O)
내림차순으로 정렬하면 sorted(리스트, reverse=True)
5) 내림차순으로 정렬방법 추가
리스트.sort()를 실행한 후 (오름차순 정렬)
리스트.reverse()함수를 실행(역순으로 변경하므로 내림차순이 됨)
9. 리스트 요소 개수 세기
리스트.count(요소) : 리스트 내에 있는 요소의 개수를 반환
10. 곱 연산
리스트를 반복(문자열 반복할 때와 동일)
11. 리스트 컴프리헨션(comprehension)
복잡한 반복의 형태를 간단하게 표현 가능
alist = [저장요소 반복문] : 중간에 ,(콤마)가 들어가면 안되면 공백이 들어감. 반복문 끝에 :(클론)들어가지 않음
ex) alist = [random.randint(1,10) for I in ranger(10) : 10개 의 랜덤값이 요소로 저장되면서 리스트 생성
12. 리스트 안의 리스트 요소(2차원 리스트)
1) alist = [[0,1],[1,2],[2,3]]
2) m = [[0]*5 for I in range(3)]
3) [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]