inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵

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

해결된 질문

84

류진

작성한 질문수 2

1

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

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

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 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]

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

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

supabase 다른 프로젝트 적용 관련 질문드려요.

0

3

0

시스템관리자가 앱을 차단했다고 뜹니다.

0

4

0

city 컬럼 삭제

0

8

1

강의 문의

0

6

1

빅카인즈 open ai 서비스 유료로 전환됐어요ㅠㅠ

0

6

1

3회 기출(작업형 2) 질문 있습니다!!

0

14

1

프로젝트 폴더 복사 후 사용 관련

0

9

1

영상 안나와요

0

11

0

기술스택 강의 관련해서 질문드려요.

0

14

1

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

1

75

1

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

2

99

1

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

1

79

2

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

2

227

2

변수 선언에 관련한 질문.

1

92

2

for-else는 언제 쓰나요?

1

87

2

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

1

247

1

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

2

79

2

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

1

89

2

range함수 관련

2

119

1

포맷팅 질문

2

61

1

if 질문

2

90

1

set 질문

2

72

2

딕셔너리 반복자 질문

2

62

1

클래스 질문

2

70

1