inflearn logo
강의

講義

知識共有

【超初心者】 【累計5,000名以上】 Pythonプログラミング基礎完成ロードマップ

리스트를 복사할 때 a = b 와 a = b[:] 의 차이는 무엇인가요?

解決済みの質問

88

fbwls1

投稿した質問数 2

1

리스트를 복사할 때 a = ba = b[:] 의 차이는 무엇인가요?

python 머신러닝 빅데이터 인공지능(ai) ax(에이전트-경험)

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 류진님!

Python에서 리스트를 복사할 때 a = ba = b[:] 는 두 가지 서로 다른 방법을 의미합니다.

  1. a = b 사용:

    • 이 방법은 두 리스트 변수가 동일한 객체를 참조하게 만드는 것을 의미합니다. 즉, ab는 같은 리스트를 가리키고 있습니다. 따라서 ab를 통해 리스트의 변경이 발생하면 서로가 모두 그 변경사항을 보게 됩니다.
  2. a = b[:] 사용:

    • 이 방법은 b 리스트의 얕은 복사본을 생성합니다. b[:]는 슬라이싱을 통해 리스트의 모든 요소를 복사하여 새로운 리스트를 만듭니다. 이로 인해 ab는 서로 다른 리스트가 되며, a에서의 변경은 b에 영향을 미치지 않고 b에서의 변경도 a에 영향을 미치지 않습니다.

아래 코드 예제를 통해 이를 더 명확히 할 수 있습니다:

# 동일한 객체 참조
b = [1, 2, 3]
a = b
a.append(4)
print(b)  # 출력: [1, 2, 3, 4]

# 새로운 객체 생성
b = [1, 2, 3]
a = b[:]
a.append(4)
print(b)  # 출력: [1, 2, 3]

관련된 추가 정보에 대한 설명은 다음 링크에서 상세히 다루고 있습니다:
- 얕은 복사와 깊은 복사의 차이점
- 리스트 슬라이싱을 활용한 복사 방법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강의가 넘 좋아서 3번째 복습을 하고 있는데

0

1

1

예측에 사용하는 경제지표의 활용에 대해

0

2

1

14강 "" 사용 관련 질문

0

3

1

hostinger vps에 tailscale 까지 설정 후 진행방법

0

6

1

20강 강의 영상에 오류가 있습니다.

0

7

1

[55강] git init 명령어 안내 혼란

0

9

0

강의 자료를 어디서 확인 할 수 있나요?

1

11

2

memory 질문

0

12

1

FRED API

1

16

1

파이썬 문법과 기본 개념을 학습한 이후에는 어떤 방향으로 심화 학습을 하는 것이 좋을지 궁금합니다.

1

81

1

파이썬에서 객체의 참조(reference)와 할당(assignment)의 차이

2

109

1

파이썬에서 함수의 매개변수 기본값을 설정할 때 주의해야 할 점은 무엇인가요?

1

85

2

얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)의 차이

2

247

2

변수 선언에 관련한 질문.

1

99

2

for-else는 언제 쓰나요?

1

90

2

요즘 바이브코딩이 대세인데 파이썬을 배워야하는 이유가 뭘까요?

1

260

1

코드에서 오류를 찾는 팁이 있을까요?

2

81

2

순회 중 리스트 수정은 왜 위험한지 궁금합니다.

1

91

2

range함수 관련

2

123

1

포맷팅 질문

2

61

1

if 질문

2

93

1

set 질문

2

72

2

딕셔너리 반복자 질문

2

63

1

클래스 질문

2

70

1