파이썬 리스트 복사 질문(copy 모듈, 슬라이스)
조회수 619회
import copy
a = ["Aa","Bb", "Cc"]
b = ["11", "22", "33"]
c = []
a.extend(b)
c.append(a)
c.append(a)
print("1", c) #결과 (1 [['Aa', 'Bb', 'Cc', '11', '22', '33'], ['Aa', 'Bb', 'Cc', '11', '22', '33']])
c = c[:]
del a[3:]
print("2", c) #결과 (2 [['Aa', 'Bb', 'Cc'], ['Aa', 'Bb', 'Cc']])
del a[3:] 이후에도 ['Aa', 'Bb', 'Cc', '11', '22', '33'], ['Aa', 'Bb', 'Cc', '11', '22', '33']가 출력되게 하고 싶은데 여전히 a[ ] 의 요소들이 참조되어 다음 값에 반영이 됩니다...
c = copy.deepcopy(c) 를 반복해서 사용할 경우 maximum recursion depth exceeded in comparison 라는 오류메세지가 나옵니다.
아래 코드를 추가하여 실행해도, 처리 속도에도 차이가 있는것 같아 c = c[ : ] 형태로 복사하고 싶습니다. 방법이 있는지요.
import sys
__name__=='__main__':
sys.setrecursionlimit(2000)
출처: https://tmdahr1245.tistory.com/97 [tmdahr1245]
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력