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

파이썬에서 한 배열의 모든 요소를 다른 배열로 복사하는 프로그램

파이썬에서 한 배열(리스트)의 모든 요소를 다른 배열로 복사해야 하는 경우가 자주 있습니다. 가장 기본적인 방법은 원본 리스트와 같은 길이의 'None' 요소로 채워진 새로운 리스트를 먼저 생성한 뒤, for 반복문으로 각 요소를 순회하면서 '=' 연산자를 사용해 값을 하나씩 할당하는 것입니다.

아래는 실제 구현 예시입니다.

예제 코드

my_list_1 = [34, 56, 78, 90, 11, 23]

my_list_2 = [None] * len(my_list_1)

for i in range(0, len(my_list_1)):
    my_list_2[i] = my_list_1[i]

print("원본 리스트 : ")
for i in range(0, len(my_list_1)):
    print(my_list_1[i])

print()

print("복사된 새 리스트 : ")
for i in range(0, len(my_list_2)):
    print(my_list_2[i])

출력 결과

원본 리스트 :
34
56
78
90
11
23

복사된 새 리스트 :
34
56
78
90
11
23

코드 설명

  • 먼저 복사할 원본 리스트를 정의합니다.

  • 'None' 값으로 채워진, 원본과 같은 길이의 새로운 리스트를 생성합니다.

  • for 반복문으로 인덱스를 순회하며 첫 번째 리스트의 요소를 두 번째 리스트에 하나씩 할당합니다.

  • 이렇게 만들어진 두 번째 리스트가 바로 복사된 리스트입니다.

  • 마지막으로 두 리스트의 내용을 콘솔에 출력하여 결과를 확인합니다.

참고: 더 간단한 복사 방법

실무에서는 위와 같은 반복문 대신 슬라이싱이나 copy() 메서드를 사용하는 것이 더 간결하고 효율적입니다.

# 슬라이싱 사용
my_list_2 = my_list_1[:]

# copy() 메서드 사용
my_list_2 = my_list_1.copy()

다만 이 방법들은 얕은 복사(shallow copy)에 해당하므로, 중첩된 리스트까지 완전히 독립적으로 복사하려면 copy 모듈의 deepcopy() 함수를 사용해야 합니다.