파이썬에서 리스트의 첫 번째 값과 마지막 값을 서로 바꿔야 하는 경우가 종종 있습니다. 이럴 때 별도의 함수를 정의하고 임시 변수(temp)를 활용하면 아주 간단하게 구현할 수 있습니다.
아래는 실제 동작 예시입니다.
예제 코드
def list_swapping(my_list):
size_of_list = len(my_list)
temp = my_list[0]
my_list[0] = my_list[size_of_list - 1]
my_list[size_of_list - 1] = temp
return my_list
my_list = [34, 21, 56, 78, 93, 20, 11, 9]
print("원본 리스트 :");
print(my_list)
print("첫 번째 요소와 마지막 요소를 교환한 결과 :");
print(list_swapping(my_list))실행 결과
원본 리스트 : [34, 21, 56, 78, 93, 20, 11, 9] 첫 번째 요소와 마지막 요소를 교환한 결과 : [9, 21, 56, 78, 93, 20, 11, 34]
코드 설명
'list_swapping'이라는 이름의 함수를 정의합니다.
이 함수는 리스트를 매개변수로 받습니다.
len() 함수로 리스트의 길이를 구한 뒤, 임시 변수 temp를 이용해 첫 번째 요소(my_list[0])와 마지막 요소(my_list[size_of_list - 1])의 값을 서로 교환합니다.
교환이 완료된 리스트를 반환값으로 돌려줍니다.
함수 외부에서 예시 리스트를 정의하고 콘솔에 출력합니다.
해당 리스트를 인자로 전달하며 함수를 호출합니다.
교환된 최종 결과가 콘솔에 출력됩니다.
더 간결한 방법: 튜플 언패킹 활용
파이썬에서는 임시 변수 없이 튜플 언패킹(tuple unpacking)을 사용하면 한 줄로 두 값을 교환할 수 있습니다. 음수 인덱스(-1)를 활용하면 코드가 더욱 깔끔해집니다.
def list_swapping(my_list):
my_list[0], my_list[-1] = my_list[-1], my_list[0]
return my_list
my_list = [34, 21, 56, 78, 93, 20, 11, 9]
print(list_swapping(my_list))
# 출력: [9, 21, 56, 78, 93, 20, 11, 34]두 방법 모두 원본 리스트 자체가 변경된다는 점(in-place 수정)에 유의하세요. 원본을 유지하고 싶다면 함수 내부에서 my_list.copy()로 복사본을 만든 뒤 교환 작업을 수행하는 것이 좋습니다.