리스트의 개념
파이썬에서 리스트란 순서를 따라 값을 나열한 것입니다.
다음과 같이 홀수만을 담은 리스트를 만들어볼 수 있습니다.
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 |