Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 리스트(List) 완벽 가이드: 생성부터 삭제까지 핵심 문법

이 튜토리얼에서는 파이썬 리스트(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]