5.1 요소 추가
Python에서는 리스트에 요소를 추가하는 여러 가지 방법이 있어, 리스트가 언어 내에서 가장 유연한 데이터 구조 중 하나가 되게 합니다. Python이 리스트에 요소를 추가하기 위해 제공하는 주요 메서드는 다음과 같습니다:
메서드 사용 append()
append()
메서드는 리스트 끝에 요소를 추가합니다. 이는 하나의 요소를 추가하는 가장 쉬운 방법이며, 자주 사용됩니다:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 출력: [1, 2, 3, 4]
메서드 사용 extend()
extend()
메서드는 여러 요소를 한 번에 리스트에 추가할 수 있게 해줍니다. 이 메서드는 반복 가능한 객체(예: 다른 리스트, 튜플, 집합)를 인자로 받습니다:
my_list = [1, 2, 3, 4]
my_list.extend([5, 6])
print(my_list) # 출력: [1, 2, 3, 4, 5, 6]
메서드 사용 insert()
insert()
메서드는 리스트의 지정된 위치에 요소를 추가합니다. 이 메서드는 두 개의 인자를 받습니다: 요소가 들어갈 인덱스와 그 요소:
my_list = [1, 2, 3, 4, 5, 6]
my_list.insert(0, 0)
print(my_list) # 출력: [0, 1, 2, 3, 4, 5, 6]
덧셈 연산자를 사용하여 요소 추가하기
리스트는 "+
" 연산자를 통해서도 결합될 수 있으며, 이는 또한 한 리스트의 요소를 다른 리스트에 추가하는 것과 같습니다:
my_list = [0, 1, 2, 3, 4, 5, 6]
my_list = my_list + [7, 8]
print(my_list) # 출력: [0, 1, 2, 3, 4, 5, 6, 7, 8]
주의사항 및 경고
append()
와 extend()
를 사용할 때는 원본 리스트가 변경됩니다. 하지만 "+
"를 사용하면 새로운 리스트가 생성되므로, 만약 오래된 리스트에 대한 참조가 어딘가에 남아 있다면 그것은 변경되지 않습니다.
5.2 요소 직접 수정하기
Python에서는 리스트의 요소를 변경하는 것이 간단한 작업입니다. 리스트가 변경 가능한 객체라는 점 덕분에, 리스트를 새로운 복사본을 만들지 않고 그 자리에서 수정할 수 있습니다. 이러한 기능을 어떻게 활용할 수 있는지 살펴봅시다:
요소 직접 수정하기
리스트의 요소를 변경하려면, 인덱스를 통해 새로운 값을 지정하기만 하면 됩니다:
my_list = [1, 2, 3, 4]
my_list[2] = 30
print(my_list) # 출력: [1, 2, 30, 4]
5.3 요소 범위 할당하기:
Python에서 리스트 내 요소 범위를 할당하는 것은 슬라이싱을 통해 이루어집니다. 슬라이싱은 하위 리스트를 얻는 것뿐만 아니라 할당할 수 있게 해줍니다. 이는 Python의 리스트가 데이터의 시퀀스를 다루기 유연하게 만듭니다.
슬라이싱을 사용한 할당
Python의 슬라이싱은 리스트의 여러 요소를 한 번에 변경하는 데 사용될 수 있습니다. 예를 들어, 슬라이스를 지정하고 그 자리에 새로운 요소 리스트를 할당함으로써 리스트의 일부를 다른 값으로 대체할 수 있습니다:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:5] = [20, 30, 40]
print(numbers) # 출력: [0, 1, 20, 30, 40, 5, 6, 7, 8, 9]
등호의 왼쪽과 오른쪽 요소의 개수가 일치할 필요 없습니다.
오른쪽 요소의 개수가 더 많을 수 있습니다:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:2] = [20, 30, 40]
print(numbers) # 출력: [0, 1, 20, 30, 40, 2, 3, 4, 5, 6, 7, 8, 9]
혹은 더 적을 수도 있습니다:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:9] = [20, 30, 40]
print(numbers) # 출력: [0, 20, 30, 40, 9]
이러한 방법은 매우 간결한 코드를 작성할 수 있게 하지만, 슬라이싱을 사용할 경우 마지막 요소는 범위에 포함되지 않는다는 점을 잊지 마세요.
GO TO FULL VERSION