inflearn logo
강의

Course

Instructor

[Beginner] [5,000+ Students] Python Programming Fundamentals Completion Roadmap

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

Resolved

70

fbwls1

2 asked

1

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

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

Answer 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]

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

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

max x5 플랜을 결제했습니다.

0

2

1

클로드 초기 설정

0

2

1

사용자 스코프 설정 파일 적용 문제

0

6

1

6-6

0

8

1

OAuth방식 강의 문의

0

11

0

클로드코드 유료플랜 할인 방법이 있을까요?

0

18

0

HTML2Design 플러그인 시, 클로드에서 코딩해서 만든 UI 예시 이미지 가져오기 오류

0

6

0

작업형 1 유형 부분

0

11

1

API Error : 400 에러의 원인과 해결방법이 궁금합니다!!

0

16

2

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

1

56

1

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

2

78

1

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

1

60

2

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

2

170

2

변수 선언에 관련한 질문.

1

79

2

for-else는 언제 쓰나요?

1

68

2

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

1

204

1

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

2

68

2

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

1

76

2

range함수 관련

2

107

1

포맷팅 질문

2

55

1

if 질문

2

76

1

set 질문

2

65

2

딕셔너리 반복자 질문

2

58

1

클래스 질문

2

65

1