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

파이썬 extend() 메서드 사용법: 리스트에 여러 요소 추가하기

친구들을 초대하는 파티를 연다고 상상해 보세요. 초대할 친구 명단이 있고, 생각나는 사람이 생길 때마다 이 명단은 점점 길어질 것입니다.

바로 이럴 때 파이썬의 extend() 메서드가 유용합니다. extend() 메서드를 사용하면 리스트 끝에 하나 또는 여러 개의 요소를 손쉽게 추가할 수 있습니다.

이 글에서는 파이썬 extend() 메서드의 사용법을 초대 명단 예시와 함께 자세히 알아보겠습니다.

파이썬 extend()란 무엇인가?

extend()는 파이썬의 대표적인 리스트 메서드 중 하나입니다. 같은 계열의 메서드로는 append()insert()가 있으며, 이 세 가지 메서드를 활용하면 파이썬에서 리스트를 자유롭게 조작할 수 있습니다. 그렇다면 왜 .extend() 메서드를 사용해야 할까요?

파이썬 .extend() 동작 방식

.extend() 메서드는 리스트 끝에 여러 항목을 추가하여 리스트를 확장합니다. 사용 문법에는 두 가지 방식이 있습니다.

첫 번째 방법은 추가하고 싶은 항목들(인수라고 부릅니다)을 대괄호로 묶어 괄호 안에 직접 넣는 것입니다. 아래 예시의 두 번째 줄처럼 새 이름들을 대괄호 안에 넣어 전달하면 됩니다:

invite_list = ['Shazia', 'Matt', 'Elizabeth']
invite_list.extend(['Janie','Bryce','Jaspar'])
print(invite_list)

이 코드를 실행하면 다음과 같은 결과가 출력됩니다:

['Shazia', 'Matt', 'Elizabeth', 'Janie', 'Bryce', 'Jaspar']

두 번째 방법은 새 이름들을 담은 변수(예: new_names)를 먼저 선언한 뒤, 그 변수를 괄호 안의 인수로 전달하는 것입니다. 아래 예시의 세 번째 줄을 확인해 보세요:

invite_list = ['Shazia', 'Matt', 'Elizabeth']
new_names = ['Janie', 'Bryce', 'Jaspar']
invite_list.extend(new_names)
print(invite_list)

이 코드 역시 동일한 결과를 반환합니다:

['Shazia', 'Matt', 'Elizabeth', 'Janie', 'Bryce', 'Jaspar']

파이썬 extend()를 사용하지 말아야 할 경우

리스트 끝에 항목을 하나만 추가하고 싶다면 extend() 대신 append() 메서드를 사용하는 것이 좋습니다. 파이썬의 append() 메서드는 한 번에 단일 항목(개별 리스트 항목 또는 리스트 하나)만 추가합니다.

예를 들어 다음 코드를 보겠습니다:

invite_list = ['Shazia', 'Matt', 'Elizabeth']
new_names = ['Janie', 'Bryce', 'Jaspar']
invite_list.append(new_names)
print(invite_list)

실행 결과는 다음과 같습니다:

['Shazia', 'Matt', 'Elizabeth', ['Janie', 'Bryce', 'Jaspar']]

추가된 이름들(Janie, Bryce, Jaspar)이 별도의 대괄호로 묶여 있는 것을 확인할 수 있습니다. 즉, append() 메서드는 이 이름들을 하나의 개체로 취급한 것입니다.

반면, 리스트 끝이 아니라 특정 위치에 항목을 삽입하고 싶다면 insert() 메서드를 사용해야 합니다. 파이썬에서 리스트의 각 항목에는 위치(인덱스)가 할당되며, 이 번호는 0부터 시작합니다. 따라서 리스트 ['Shazia', 'Matt', 'Elizabeth']의 항목에는 각각 0, 1, 2가 할당됩니다. 'Shazia'는 위치 0, 'Matt'는 위치 1에 있는 식입니다.

초대 명단 예시에 insert() 메서드를 적용해 보겠습니다. 원하는 위치와 그 위치에 삽입할 이름을 코드 두 번째 줄의 괄호 안에 지정합니다:

invite_list = ['Shazia', 'Matt', 'Elizabeth']
invite_list.insert(0, 'Bryce')
print(invite_list)

이 코드의 실행 결과는 다음과 같습니다:

['Bryce', 'Shazia', 'Matt', 'Elizabeth']

'Bryce'라는 이름이 리스트의 0번 위치에 성공적으로 삽입된 것을 확인할 수 있습니다.

마무리

파이썬 extend() 메서드는 리스트 끝에 항목들을 추가하는 데 사용됩니다. 메서드를 호출할 때 괄호 안에 새 항목들을 직접 넣거나, 새 항목들을 담은 변수를 선언한 후 그 변수를 괄호 안에 넣으면 됩니다. extend()는 한 번에 하나의 항목만 추가하는 append(), 특정 위치에 항목을 삽입하는 insert()와 구분됩니다.

이제 파이썬 extend() 메서드의 사용법을 익혔으니, 다른 리스트 메서드들과 함께 직접 코딩하며 연습해 보세요!