inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Dành cho người mới bắt đầu] [Tích lũy 5.000+ học viên] Lộ trình hoàn thiện cơ bản lập trình Python

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

Đã giải quyết

70

fbwls1

2 câu hỏi đã được viết

1

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

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

Câu trả lời 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]

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

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

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

2

1

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

2

1

plan mode 개발 계획안 확인 불가

0

3

1

20번강좌에 대한 질문입니다.

0

5

1

강사님 안녕하세요 ㅎdatabricks환경에 대한 설

0

6

1

교재 파일이나 실습자료 한번에 다운로드 받는 메뉴가 없나요

0

7

0

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

0

16

1

클로드 초기 설정

0

15

1

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

0

10

1

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

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