[5주차 Study Note]
자료구조
Index
: 아이템에 자동 부여되는 0~ 숫자
: 아이템 조회시 list명[숫자] 형태로 확인
list 길이 조회
: len 함수 활용 ex. list명 = ~~ 정의 -> len(list명) 형태로
※ 이때 len 함수에 들어가는 list명은 기존 리스트의 레퍼런스(리스트) 변수임
list의 for문 활용
: list = [[0, 1], [3, 4]] 일때
for fstNum, secNum in list 구문 활용 시 자동으로 fstNum에 [0,1], secNum에 [3,4]로 인식되어 출력
enumerate 함수
list에 아이템 추가하기
(1) append() 함수 사용 <- 아이템 추가 위치 : 리스트 맨 뒤
- ex. list명.append(아이템명)
(2) insert() 함수 사용 <-원하는 곳에 아이템 추가
- ex. insert(인덱스 숫자, 추가 아이템명)
list 내 아이템 삭제하기
(1) pop() 함수 사용. <-리스트 내 맨뒤 아이템 삭제
(2) pop(인수) 함수 사용. <- 리스트 내 원하는 인덱스 위치의 아이템 삭제
(3) remove(아이템명) 함수 사용. <- 특정 위치의 아이템 삭제
- 함수 사용 시 같은 값이 2개 이상일 경우, 리스트상 제일 앞의 값만 삭제됨
(그 이상 제거할 경우 while문 사용)
list 연결 (확장)
(1) extend(연결할 리스트명) 함수 사용 <- 리스트 a에 리스트b가 더해지는 형식
(2) + 연산자 사용 <- a, b가 합해져 새로운 리스트 c가 만들어지는 형식
list 아이템 정렬
(1) sort() 함수 사용
- 오름차순 정렬
(2) sort(reverse=True) 함수 사용
- 내림차순 정렬
list 아이템 순서 뒤집기
(1) reverse() 함수 사용
- 반대로 뒤집어 정렬 (like 데칼코마니)
list 슬라이싱
(1) [n:m] 사용
- n~m까지 범위의 리스트를 별도로 출력해냄
- 맨 처음부터 출력, or 맨 뒤까지 출력하는 경우 각각 n, m 생략해서 사용 가능
- 음수로도 슬라이싱 가능 / 문자열도 슬라이싱 가능
(2) [n:m, 숫자] 사용
- n~m까지 범위의 리스트를 숫자 간격으로 출력
(3) [슬라이싱] = [리스트 내용~] 사용
- 할당연산자 사용 시 리스트 변경 가능 (기존 리스트 내용까지 변경됨
(4) slice() 함수 사용
기타
특정 아이템 개수 알아내기
특정 아이템 삭제
tuple
아이템의 존재유무 찾기
튜플은 슬라이싱으로 아이템 변경 불가
리스트를 튜플 아이템으로 변경은 가능
리스트와 튜플 변환
:리스트와 튜플을 각각 tuple(리스트명), list(튜플명)으로 정의 시 자료형 변환 가능
튜플 정렬
(1) 3단계 (list()로 자료형 변환 -> sort()/sort(reverse=True)로 오름차순, 내림차순 정렬 -> tuple()로 자료형 변환)
(2) sorted함수 사용
-> 원본은 유지되나, 자동으로 새로운 리스트 자료형 반환
딕셔너리
딕셔너리 조회
(1) 딕셔너리명{'키'} 형태로 조희 가능
(2) 딕셔너리명.get('키값)
@ get()dms 키값이 없어도 에러 발생 x
=> none 출력
딕셔너리 추가 (딕셔너리 변경과 방법 동일)
딕셔너리 키값, value값 조회하기
(1) key값 조회 - 딕셔너리명.keys() 사용
(2) value값 조회 - 딕셔너리명.values() 사용
(3) 아이템값 조회 - 딕셔너리명.items() 사용
딕셔너리 삭제
(1) del 딕셔너리명['키캆] <- 결과 반환안됨
(2) pop()함수 사용 <- 결과 반환됨
(3) 딕셔너리 내 모든 아이템 삭제 시 - clear() 사용