English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
copy() 메서드는 목록의 가볍게 복사본을 반환합니다.
목록는 복사할 수 있습니다.=연산자. 예를 들어:
old_list = [1, 2, 3] new_list = old_list
이렇게 목록을 복사하면 문제는 new_list을 수정하면 old_list도 변경된다는 것입니다.
old_list = [1, 2, 3] new_list = old_list # 목록에 요소 추가 new_list.append('a') print('새 목록:', new_list) print('오래된 목록:', old_list)
이 프로그램을 실행하면 출력됩니다:
새 목록: [1, 2, 3, 'a'] 오래된 목록: [1, 2, 3, 'a']
하지만, 새 목록을 수정할 때 원본 목록이 변경되지 않도록 하려면 copy() 메서드를 사용할 수 있습니다. 이를 가볍게 복사라고 합니다.
copy() 메서드의 문법은 다음과 같습니다:
new_list = list.copy()
copy() 메서드는 매개변수가 없습니다.
copy() 함수는 목록의 가볍게 복사본을 반환합니다. 원본 목록을 변경하지 않습니다.
# 복합 목록 list = ['고양이', 0, 6.7] # 목록을 복사 new_list = list.copy() # 요소를 새 목록에 추가 new_list.append('개') # 새로운과 오래된 목록을 출력 print('오래된 목록: ', list) print('새 목록: ', new_list)
이 프로그램을 실행하면 출력됩니다:
오래된 목록: ['고양이', 0, 6.7] 새 목록: ['고양이', 0, 6.7, '개']
그런데, 새 목록을 수정하면 오래된 목록도 변경되지 않습니다.
스ライ싱을 사용하여 다음과 같은 결과를 얻을 수도 있습니다:
# 복합 목록 list = ['cat', 0, 6.7] # 슬라이싱을 사용하여 목록을 복사 new_list = list[:] # 요소를 새 목록에 추가 new_list.append('dog') # 새로운과 오래된 목록을 출력 print('오래된 목록: ', list) print('새 목록: ', new_list)
실행 후, 출력 결과:
오래된 목록: ['cat', 0, 6.7] 새 목록: ['cat', 0, 6.7, 'dog']