본문 바로가기
프로그래밍 언어 & 데이터베이스/Python

파이썬 리스트(list)와 인덱싱(indexing)

by ♥︎해이나♥︎ 2021. 6. 15.
반응형

요즘 나는 온라인으로 파이썬 강의를 듣고 있다. 처음에는 낯설고 헷갈리는 것들 뿐이라 '내가 이걸 할 수 있을까' 싶었는데, 하루 1강 듣기 도전을 하다보니 조금씩 익숙해져 가고 있다. 알면 알수록 흥미진진한 파이썬! 이제는 퇴근하고 파이썬 강의 듣는 것이 소소한 즐거움이 되었다. 오늘은 리스트(list)와 인덱싱(indexing)에 대해서 배웠다. 잊어버리지 않도록 복습 차원에서 블로그에도 정리해 두려고 한다.

 

 

파이썬 리스트(list)

변수에 값을 여러개 저장하고 싶다면 어떻게 해야할까? 그럴 땐 리스트(list)를 사용하면 된다. 방법은 값들을 쉼표(,)로 구분하여 대괄호([])로 감싸준다.

 

# 리스팅 예시
numbers = [1, 2, 3, 4, 5]
mountains = ["백두산", "금강산", "관악산", "소백산", "한라산"]


리스트는 부분적으로 다시 변수에 넣을 수도 있으며, 값을 변경할 수도 있다. 리스트 값을 변경하는 방법은 아래와 같다.

 

numbers = [1, 2, 3, 4, 5]
numbers[0] = 3  # 0번째 인덱스를 3으로 바꾸어서 [3, 2, 3, 4, 5]가 됨

 

파이썬 인덱싱(indexing)

리스트에서 요소의 위치를 인덱스(index), 특정 위치의 요소를 가져오는 것을 인덱싱(indexing) 이라고 한다. 파이썬에서 인덱스는 1이 아닌 0부터 시작한다는 점을 반드시 기억해야 한다. 그래서 아래와 같은 코드를 쓰면 1이 아닌 2를 결과값으로 얻는다. 만약 리스트 갯수를 초과한 위치의 값을 가져오려고 시도하면 에러가 발생한다.

numbers = [1, 2, 3, 4, 5]
print(numbers[1])  # 결과값 2 
print(numbers[7])  # 에러

 

인덱스에는 마이너스(-) 개념도 존재한다. -1, -2... 하면 뒤에서부터 순서대로 카운트된다.

numbers = [1, 2, 3, 4, 5]
print(numbers[-1])  # 결과값 5
print(numbers[-2])  # 결과값 4
print(numbers[-6])  # 오류 발생

 

파이썬 리스트 슬라이싱(list slicing)

리스트를 부분적으로 추출하는 것은 리스트 슬라이싱(list slicing) 이라고 한다. 대괄호([]) 안에 콜론(:)을 사용하는데 [a:b] 이런 식이다. 이것은 a부터 b-1까지 가져오라는 의미이다. 

numbers = [1, 2, 3, 4, 5]
print(numbers[0:3])  # 결과값 [1, 2, 3]
print(numbers[1:3])  # 결과값 [2, 3]
print(numbers[3:])  # 두번째 위치를 지정하지 않으면 리스트의 끝까지 가져옴, 결과값 [4, 5]
print(numbers[:3])  # 첫번째 위치를 지정하지 않으면 맨 앞부터 지정한 위치까지 가져옴, 결과값 [1, 2, 3]
반응형

댓글