파이썬 리스트 설명: 인덱싱, 슬라이싱, 함수

2021. 11. 30. 20:22·개발/Python

리스트의 개념

파이썬에서 리스트란 순서를 따라 값을 나열한 것입니다.

다음과 같이 홀수만을 담은 리스트를 만들어볼 수 있습니다.

odd = [1, 3, 5, 7, 9]

이처럼 리스트는 대괄호[]를 사용합니다.

리스트는 비어있을 수 있으며, 또 다른 리스트를 포함할 수도 있습니다.

empty = []
listInList = [1, 2, ["a", "b", "c"], 3]

리스트 인덱싱과 슬라이싱

파이썬에서는 문자열과 같이 리스트를 인덱싱 및 슬라이싱할 수 있습니다.

리스트 인덱싱

인덱싱 번호는 0부터 시작하며, -1번 째는 리스트의 마지막 값에 해당합니다.

odd = [1, 3, 5, 7, 9]
odd[0]
# 1
odd[3]
# 7
odd[-1]
# 9

인덱싱을 통해 얻은 값을 연산할 수도 있습니다.

odd = [1, 3, 5, 7, 9]
odd[0] + odd[3]
# 8

리스트 안의 리스트의 경우에는 다음과 같이 값을 얻을 수 있습니다.

listInList = [1, 2, [a, b, c], 3]
listInList[2][-1]
# "c"

리스트 슬라이싱

리스트 슬라이싱도 문자열을 슬라이싱하는 방식과 동일합니다.

greeting = ["H", "e", "l", "l", "o"]
greeting[0:3]
# ["H", "e", "l"]

몇 가지 예시를 더 살펴보겠습니다.

greeting = ["H", "e", "l", "l", "o"]
greeting[:2] # 처음부터 1번째 값까지 슬라이싱
# ["H", "e"]
greeting[2:] # 2번째 값부터 마지막 값까지 슬라이싱
# ["l", "l", "o"]

리스트 연산

파이썬에서는 리스트를 더하거나 곱할 수 있습니다.

odd = [1, 3, 5]
even = [2, 4, 6]

odd + even
# [1, 3, 5, 2, 4, 6]

odd * 3
# [1, 3, 5, 1, 3, 5, 1, 3, 5]

리스트 수정

하나의 값을 수정하는 것은 인덱싱을 사용합니다.

odd = [1, 3, 5]
odd[2] = 7

odd
# [1, 3, 7]

연속된 범위의 값을 수정할 때는 슬라이싱을 활용합니다.

odd = [1, 3, 5]
odd[1:3] = [7, 9]

odd
# [1, 7, 9]

이때, 슬라이싱이 아닌 인덱싱을 사용하면 전혀 다른 값이 수정된다는 점을 유의해야 합니다.

odd = [1, 3, 5]
odd[2] = [11, 13]

odd
# [1, 3, [11, 13]]

슬라이싱 개념을 활용해 요소를 삭제할 수도 있습니다.

odd = [1, 3, 5]
odd[:2] = []

odd
# [5]

삭제는 del 함수를 사용할 수도 있습니다.

odd = [1, 3, 5]
del odd[2]

odd
# [1, 3]

리스트 관련 함수

특정 요소를 삭제하는 del 뿐만 아니라 다양한 리스트 관련 함수들이 있습니다.

리스트에 요소 추가

append 함수를 사용해 리스트에 요소를 추가할 수 있습니다. 요소는 가장 마지막 값 이후에 추가됩니다.

odd = [1, 3, 5]
odd.append(7)

odd
# [1, 3, 5, 7]

리스트 정렬

sort 함수를 사용하면 리스트의 값을 오름차순으로 정리할 수 있습니다.

odd = [1, 5, 7, 3, 9]
odd.sort()

odd
# [1, 3, 5, 7, 9]

이는 알파벳에도 활용할 수 있습니다.

alphabet = ["a", "e", "b", "c", "d"]
alphabet.sort()

alphabet
# ["a", "b", "c", "d", "e"]

리스트 뒤집기

reverse 함수로 리스트의 순서를 뒤집을 수 있습니다. 이는 단순 순서를 뒤집는 것으로 내림차순 정렬이 아닙니다.

alphabet = ["a", "e", "b", "c", "d"]
alphabet.reverse()

alphabet
# ["d", "c", "b", "e", "a"]

인덱스 반환

index 함수를 통해 특정 값이 있는 인덱스를 얻을 수 있습니다. 리스트에 값이 존재하지 않으면 오류가 발생합니다.

alphabet = ["a", "e", "b", "c", "d"]
alphabet.index("b")
# 2

리스트에 요소 삽입

insert 함수를 사용해 특정 인덱스에 요소를 삽입할 수 있습니다.

odd = [1, 3, 7]
odd.insert(2, 5)

odd
# [1, 3, 5, 7]

리스트 요소 제거

remove 함수를 사용해 리스트에서 처음으로 나오는 값을 제거할 수 있습니다.

odd = [1, 3, 3, 5]
odd.remove(3)

odd
# [1, 3, 5]

odd.remove(3)
odd
# [1, 5]

pop 함수를 사용하면 리스트의 마지막 요소를 삭제할 수 있습니다.

odd = [1, 3, 5, 5]
odd.pop()

odd
# [1, 3, 5]

pop(x)와 같이 사용할 경우 x 인덱스에 해당하는 요소를 삭제할 수 있습니다.

odd = [1, 3, 5]
odd.pop(1)

odd
# [1, 5]

리스트 요소 개수 세기

count 함수를 사용해 리스트에 특정 값이 몇 개나 존재하는지 셀 수 있습니다.

odd = [1, 1, 1, 3, 5]
odd.count(1)
# 3

리스트 확장

extend 함수를 통해 리스트를 확장할 수 있습니다. 이때, 값으로는 리스트만을 줄 수 있습니다.

odd = [1, 3, 5]
odd.extend([7, 9, 11])

odd
# [1, 3, 5, 7, 9, 11]

리스트 확장은 다음과 같이 + 연산자를 통해서도 가능합니다.

odd = [1, 3, 5]
odd += [7, 9, 11]

odd
# [1, 3, 5, 7, 9, 11]

이상으로 리스트의 개념과 인덱싱, 슬라이싱 및 리스트 관련 기본 함수에 대해 알아봤습니다.

'개발 > Python' 카테고리의 다른 글

파이썬 딕셔너리 설명: 키, 값, 함수  (0) 2021.12.01
파이썬 튜플 설명  (0) 2021.12.01
파이썬 문자열 기본 함수 정리  (0) 2021.11.30
'개발/Python' 카테고리의 다른 글
  • 파이썬 집합 자료형 설명
  • 파이썬 딕셔너리 설명: 키, 값, 함수
  • 파이썬 튜플 설명
  • 파이썬 문자열 기본 함수 정리
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발 N
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git N
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
파이썬 리스트 설명: 인덱싱, 슬라이싱, 함수
상단으로

티스토리툴바