이 튜토리얼에서는 파이썬 리스트(Python List)의 기본 개념부터 실전 활용법까지 살펴봅니다. 리스트를 만드는 방법, 항목에 접근하고 수정하는 방법, 항목을 추가·삭제하는 방법, 리스트 전체를 삭제하는 방법까지 단계별로 알아보겠습니다.
파이썬에서 리스트는 대괄호 []로 만들며, 각 항목은 쉼표 ,로 구분합니다.
파이썬 리스트는 서로 다른 자료형의 객체를 함께 담을 수 있습니다. 즉, 모든 항목이 문자열이거나 정수여야 할 필요는 없습니다. 예를 들어 다음처럼 여러 자료형을 섞어 하나의 리스트를 만들 수 있습니다:
mixedTypesList = ['a', True, 1, 1.0]
리스트 생성 방법
colorsList = ["red", "green", "blue"]
print(colorsList)
실행 결과:
['red', 'green', 'blue']
리스트 항목에 접근하는 방법
주의할 점: 리스트의 첫 번째 항목은 인덱스 0부터 시작합니다.
colorsList = ["red", "green", "blue"]
print(colorsList[2])
실행 결과:
blue
범위로 항목 접근하기(슬라이싱)
시작 인덱스와 끝 인덱스를 지정하면 리스트의 일부 구간만 가져올 수 있습니다. 이때 : 연산자를 사용합니다.
참고: 아래 예제에서 출력되는 범위는 인덱스 1(포함)부터 인덱스 4(제외)까지입니다.
colorsList = ["red", "green", "blue", "orange", "yellow", "white"]
print(colorsList[1:4])
실행 결과:
['green', 'blue', 'orange']
음수 인덱싱
음수 인덱스를 사용하면 리스트의 끝에서부터 항목에 접근할 수 있습니다. 예를 들어 -1은 마지막 항목, -2는 뒤에서 두 번째 항목을 의미합니다.
colorsList = ["red", "green", "blue", "orange"]
print(colorsList[-1])
실행 결과:
orange
항목 값 변경하기
colorsList = ["red", "green", "blue", "orange"]
colorsList[3] = "yellow"
print(colorsList)
실행 결과:
['red', 'green', 'blue', 'yellow']
반복문으로 리스트 순회하기
for 반복문을 사용하면 리스트의 각 항목을 하나씩 순회할 수 있습니다.
colorsList = ["red", "green", "blue", "orange"]
for i in colorsList:
print(i)
실행 결과:
red
green
blue
orange
리스트에 항목 추가하기
파이썬에서 리스트에 항목을 추가하는 방법에는 append()와 insert() 두 가지가 있습니다.
append() 메서드는 항목을 리스트의 맨 뒤에 추가합니다:
colorsList = ["red", "green", "blue", "orange"]
colorsList.append("yellow")
print(colorsList)
실행 결과:
['red', 'green', 'blue', 'orange', 'yellow']
insert() 메서드는 지정한 인덱스 위치에 항목을 삽입합니다:
colorsList = ["red", "green", "blue", "orange"]
colorsList.insert(2, "yellow")
print(colorsList)
실행 결과:
['red', 'green', 'yellow', 'blue', 'orange']
리스트에서 항목 제거하기
리스트에서 항목을 제거하는 방법은 여러 가지가 있습니다.
remove()는 지정한 값을 가진 항목을 제거합니다.
colorsList = ["red", "green", "blue", "orange"]
colorsList.remove("orange")
print(colorsList)
실행 결과:
['red', 'green', 'blue']
pop()은 지정한 인덱스의 항목을 제거하며, 인덱스를 생략하면 마지막 항목을 제거합니다.
colorsList = ["red", "green", "blue", "orange"]
colorsList.pop(1)
print(colorsList)
실행 결과:
['red', 'blue', 'orange']
colorsList = ["red", "green", "blue", "orange"]
colorsList.pop()
print(colorsList)
실행 결과:
['red', 'green', 'blue']
del 키워드는 지정한 인덱스의 항목을 삭제할 수 있으며, 리스트 전체를 삭제할 때도 사용됩니다.
colorsList = ["red", "green", "blue", "orange"]
del colorsList[1]
print(colorsList)
실행 결과:
['red', 'blue', 'orange']
colorsList = ["red", "green", "blue", "orange"]
del colorsList
print(colorsList)
실행 결과:
Traceback (most recent call last):
File "pythonList.py", line 30, in <module>
print(colorsList)
NameError: name 'colorsList' is not defined
clear()는 리스트의 모든 항목을 비웁니다.
colorsList = ["red", "green", "blue", "orange"]
colorsList.clear()
print(colorsList)
실행 결과:
[]
리스트 길이 구하기
len() 함수를 호출하면 리스트의 길이(항목 개수)를 구할 수 있습니다. 예를 들어:
colorsList = ["red", "green", "blue", "orange"]
print(len(colorsList))
실행 결과:
4
특정 항목 개수 세기
리스트에 count() 함수를 사용하면 특정 항목이 리스트 안에 몇 번 나오는지 확인할 수 있습니다. 예를 들어:
colorsList = ["red", "green", "red", "orange"]
print(colorsList.count("red"))
실행 결과:
2
리스트 항목 정렬하기
sort() 함수는 리스트를 알파벳순(오름차순)으로 정렬합니다.
colorsList = ["red", "green", "blue", "orange"]
colorsList.sort()
print(colorsList)
실행 결과:
['blue', 'green', 'orange', 'red']
내림차순 정렬
colorsList = ["red", "green", "blue", "orange"]
colorsList.sort(reverse=True)
print(colorsList)
실행 결과:
['red', 'orange', 'green', 'blue']
리스트 항목 순서 뒤집기
reverse() 함수를 사용하면 리스트의 항목 순서를 그대로 뒤집을 수 있습니다. 예를 들어:
colorsList = ["red", "green", "blue", "orange"]
colorsList.reverse()
print(colorsList)
실행 결과:
['orange', 'blue', 'green', 'red']
다른 리스트로 복사하기
copy() 함수를 사용하면 한 리스트의 내용을 다른 리스트에 복사할 수 있습니다.
colorsList = ["red", "green", "blue", "orange"]
newList = colorsList.copy()
print(newList)
실행 결과:
['red', 'green', 'blue', 'orange']
두 리스트 합치기
두 리스트를 합치는 가장 간단한 방법은 + 연산자를 사용하는 것입니다. 예를 들어:
colorsList = ["red", "green", "blue", "orange"]
numbersList = [1, 2, 3, 4]
numbersAndColors = colorsList + numbersList
print(numbersAndColors)
실행 결과:
['red', 'green', 'blue', 'orange', 1, 2, 3, 4]