Data Analysis

[ Python ] 리스트

곽수진 2021. 8. 31. 10:43
반응형

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