Container
자료를 저장하는 형태, 자료구조
List
- [ ] 대괄호 안에 입력함
- 한 리스트에 여러 가지 자료형 들어감
- 색인(index)
- 변경, 정렬, 순회(iterable) 가능
▶️ 리스트에 입력할 때는 [ ] (대괄호)안에 입력
▶️ 위 Korean 변수에 입력된 리스트를 참고했을 때, 인덱스는 0부터 시작하므로 korean[0]의 값은 '가'임
▶️ 변수.index('값') : 입력한 값이 몇 번째 인덱스에 있는지 알 수 있음
▶️ 인덱스 순서는 0부터 시작되며 역순으로 진행할 때는 -1부터 시작함
▶️ 리스트 내에 또 다른 리스트를 포함시킬 수 있음
→ clothes라는 변수의 이름을 가진 리스트는 '원피스' 문자열과 ['팬츠, '티'] 리스트를 값으로 가짐
▶️ clothes 변수에서 0번 index의 값은 '원피스'이며 1번 인덱스는 ['팬츠', '티']라는 리스트임
▶️ '팬츠'라는 문자열이 따로 존재하는 것이 아니기 때문에 '팬츠'의 index를 찾으려고 하면 오류가 발생함
▶️ 중첩으로 값을 찾는 방법 → 리스트 내포(comprehension)와 열거함수(eumerate)로 찾을 수 있음
▶️ len(clothes) : clothes 변수에 저장된 값은 문자열 하나, 리스트 하나이므로 길이는 2로 출력됨
▶️ len(clothes[0]) : clothes 변수의 0번 인덱스는 '원피스' 문자열이므로 길이는 3으로 출력됨
clothes 변수에 저장된 ['팬츠', '티'] 리스트 내에서 인덱스를 구분해 길이를 출력하고 싶다면?
→ len(변수[전체 리스트에서의 인덱스][내부 리스트에서의 인덱스]) 활용하기
→ len(clothes[1][1]) : ['팬츠', '티'] 리스트에서 '티'문자열의 길이를 출력하고자 하므로 1이 출력됨
▶️ 변수[인덱스] = 바꾸고자 하는 값 : 지정된 인덱스의 값을 변경할 수 있음
▶️ 변수.append(값) : 리스트 끝에 새로운 값을 추가 가능
▶️ 복합대입연산자 (+=) 혹은 변수.extend([리스트])를 통해서도 리스트 끝에 새로운 값을 추가할 수 있음
→ 길이가 긴 값일수록 리스트 + 리스트보다는 extend를 이용해야 연산 비용이 적음
▶️ 두개의 값은 동시에 추가할 수 없기 때문에 에러가 발생함
두 개의 값을 가져오려면?
▶️ 새로운 변수(korean2)를 생성해 두 개의 값이 들어있는 리스트를 만들고 이전의 변수와 더해줌
▶️ 변수.pop(값)과 변수.remove(값)은 값을 삭제하는 역할을 함
→ pop은 index값을 추출해 삭제하고, remove는 특정 값을 삭제해 pop은 원래 있던 리스트에 반영되지만 remove는 반영되지 않음
▶️ korean.pop(3) : korean 변수에 입력된 리스트는 ['가', '다', 10, '가', 1, 2, '익스텐드', '익스텐드']이므로 3번 인덱스에 해당하는 '가'를 삭제함
▶️ 변수.insert(인덱스, '추가할 값') : 지정할 인덱스에 새로운 값을 추가할 수 있음
Slicing
지정한 범위만큼만 값을 출력
▶️ [0: ] : 리스트의 처음부터 끝까지 전부 출력
▶️ [0:1] : 시작 색인 : 지정 색인 -1까지 출력
⇒ 0번 인덱스만 출력
▶️ [0: :2] : 시작 색인: :색인 증가량
⇒ 0번 인덱스부터 두 칸씩 건너띄며 출력
▶️ [: :-1] : 리스트 전체를 끝에서부터 거꾸로 출력
▶️ 변수.sort() : 리스트를 오름차순으로 정렬
▶️ 변수.reverse() : 리스트를 역순으로 정렬
# 연습문제 #
본인의 취미 여러가지를 리스트형 자료로 만들어보자.
hobby의 0번째 자료가 '데이터과학', 마지막 자료가 '파이썬'이 되게 해보자.
▶ 변수.insert(인덱스 번호, '넣을 요소') : 특정 인덱스 번호에 요소를 넣음
▶ 변수.append('넣을 요소') : 리스트의 마지막에 요소를 넣음
'데이터과학'을 pop을 통해 삭제해보자.
▶ 변수.pop(인덱스) : 특정 인덱스 번호의 요소 삭제
'파이썬'을 remove를 통해 삭제해보자.
▶ 변수.remove('요소') : 변수에 있는 특정 요소 삭제
기존 리스트에 '쌀국수', '메밀 소바' 리스트를 추가해보자.
▶ 한 번에 두 가지 요소를 추가할 수 없기 때문에 두 요소가 들어있는 새로운 리스트를 생성 후 기존 리스트에 더해줌
hobby의 길이와 0번째 자료의 길이를 구해보자.
▶ 현재 hobby 리스트에는 ['수영', '먹기', '춤추기', '쌀국수', '메밀소바']가 존재
▶ 0번째 index는 수영
'수영'의 위치를 찾고 인덱스를 출력해보자.
▶ 변수.index('요소') : 변수에서 특정 요소가 몇 번째 인덱스인지 출력
'Data Analysis' 카테고리의 다른 글
[ Python ] 튜플 (0) | 2021.08.31 |
---|---|
[ Python ] 세트 (0) | 2021.08.31 |
[ Python ] 딕셔너리 (0) | 2021.08.30 |
유튜브 영상 다운로드 프로그램 (0) | 2021.08.30 |
[ Python ] 자료형 (0) | 2021.08.30 |