[Day5] 2022-01-28(금) 파이썬 기본3, 4 - 자료구조(리스트) - 김서연 강사님
[1] 자료구조
- 자료구조 : 데이터를 저장하기 위해 제공되는 구조
- 파이썬의 자료구조는 리스트, 튜플, 딕셔너리, 집합이 있다.
- 리스트와 튜플은 데이터에 순서가 있다.
- 자료구조에 저장된 자료의 순서를 찾을 수 있고 접근할 수 있다.(인덱싱)
- 전체 자료를 부분적으로 잘라서 접근할 수 있다.(슬라이싱)
(1) 리스트(list) : [ ]
----------------------------이상 어제 수업-----------------------------------------
(1) 리스트(list) : [ ]
- 리스트에 요소 추가하기 : 리스트명.append(추가할 요소)
4) list의 인덱싱(indexing)
- 리스트에 저장된 자료의 위치를 참조해서 활용할 수 있다.
- 리스트, 튜플, 문자열 등은 한 요소씩 인덱스를 가지고 0부터 접근할 수 있다.
- 역순으로도 접근이 가능하다.
- 리스트, 튜플, 문자열 등은 리스트명[index]로 접근이 가능하다는 의미
- 음수 값으로도 접근 가능 : index는 맨 뒤에서부터 -1 -2 -3....
5) list의 슬라이싱(slicing)
- 특정 구간의 자료를 리턴하는 기능을 제공
- 적용 방법
-> 리스트명[start index:end index:step]
-> 위와 같은 문법으로 접근하면 리스트에서 해당 범위에 맞는 값을 잘라서 리턴
-> list1[4:10:1] => 4번 index부터 9번 index의 요소를 리턴
- 슬라이싱할 때 []연산자 이용
- start index 생략하면 처음부터 읽는다.
- end index 생략하면 리스트의 끝까지 읽는다.
[구문 예시]
리스트명[n] => 리스트에서 n번 index 요소 리턴
리스트명[n:m] => 리스트의 요소 중 n번 index 부터 m-1번 index까지 하나씩 리턴
리스트명[:n] => 처음(0)부터 n-1번 index 요소 리턴
리스트명[n:] => n번 index부터 마지막 index 요소 리턴
리스트명[:] => 전체 요소를 리턴
리스트명[::n] => 처음부터 끝까지 n만큼 증가시키면서 요소를 리턴
n이 양수면 앞에서부터 요소를 슬라이싱
n이 음수면 뒤에서부터 요소를 슬라이싱
6) 리스트의 값을 변경
- index를 이용해서 지정한 위치의 요소 값을 변경할 수 있다.
리스트[index] = 변경할 값
--> index에 슬라이싱 적용 가능, 변경할 값도 여러 개 값으로 수정하거나 새
로운 리스트를 추가해서 적용 가능
- 슬라이싱 적용
리스트[n:m] = 값
7) 리스트의 연산 : +, * 활용
8) 리스트관리함수
- append : 리스트 맨 뒤에 요소를 추가
리스트명.append(값)
- del : 리스트에서 해당 위치의 요소를 제거
del(리스트명[index]) => index 슬라이싱 가능
- len : 리스트의 전체 요소의 길이를 리턴
len(리스트명)
- count : 리스트에서 지정한 값의 갖고 있는 요소의 갯수를 리턴
리스트명.count(값)
- index : 지정한 값이 위치하는 리스트의 index를 리턴
리스트명.index(값)
- pop : 리스트의 맨 뒤의 항목을 빼서 리턴하며 리스트에서 항목을 삭제
리스트.pop()
- insert : 지정한 위치에 값을 삽입
리스트.insert(index, 값)
- remove : 리스트에서 지정한 값을 삭제
리스트.remove(값)
- sort : 리스트 항목을 정렬 (반환 값 없음)
리스트.sort() : 오름차순
리스트.sort(reverse=True) : 내림차순
- sorted : 리스트 항목을 정렬 (정렬된 리스트를 반환)
sorted(리스트) : 오름차순
sorted(리스트, reverse=True) : 내림차순
9) 중첩리스트(이차원리스트)
- 요소 접근 => 리스트[index1][index2]
-----------------------이하 다음 수업-------------------------
(2) 튜플(tuple) : ( )
- 순서가 있는 데이터구조
- 인덱싱과 슬라이싱 가능
- 저장된 데이터의 수정이 불가능
(3) 딕셔너리(dictionary) : { }
- 키와 value 한 쌍으로 데이터를 저장
- 순서를 가지고 있지 않다.
- 인덱싱과 슬라이싱이 불가능