파이썬에서 리스트/딕셔너리 복사

파이썬의 리스트(list)와 딕셔너리(dict)는 등호(=)를 이용해서 다른 변수에 할당할 경우 해당 자료가 복사되지 않고 동일한 데이터에 연결됩니다. 아래의 리스트 예시를 보겠습니다.

x = [1, 2, 3]
y = x

위와 같이 한 상태에서 y의 마지막 원소를 꺼내기 위해 pop()을 사용해 봅니다.

y.pop()

이렇게 하면 x와 y가 동일한 데이터에 연결되어 있기 때문에 x를 출력해도 마지막 원소가 제거된 것을 볼 수 있습니다.

print(x)

[1, 2]

데이터를 복사하여 별도의 리스트를 만들고 싶다면 아래와 같이 copy() 함수를 이용해야 합니다.

y = x.copy()

이렇게 하면 y에서 pop()을 사용해도 x에 저장된 데이터에는 변화가 없습니다.

딕셔너리도 마찬가지입니다. 데이터 자체를 복사해서 하나 더 만들고 싶다면 copy()를 사용합니다.

a = {'name':'john', 'age':20}
b = a.copy()

@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트

Sort:  

Upvoted! Thank you for supporting witness @jswit.
Please check my new project, STEEM.NFT. Thank you!
default.jpg

Coin Marketplace

STEEM 0.20
TRX 0.25
JST 0.038
BTC 96483.87
ETH 3356.14
USDT 1.00
SBD 3.20