>백엔드 개발 >파이썬 튜토리얼 >Python의 `fromkeys` 메서드를 사용할 때 공유 참조를 어떻게 피할 수 있나요?

Python의 `fromkeys` 메서드를 사용할 때 공유 참조를 어떻게 피할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 20:25:18855검색

How Can I Avoid Shared References When Using Python's `fromkeys` Method?

fromkeys 메서드와 그 한계 이해

fromkeys 메서드를 사용하여 사전을 초기화할 때 다음과 같은 동작을 인식하는 것이 중요합니다. 단일 요소 인수. 목록을 두 번째 인수로 전달하면 모든 사전 값이 동일한 목록 개체를 참조하게 됩니다.

의도하지 않은 공유 방지: 대체 접근 방식

의도하지 않은 값 공유를 방지하려면, 대체 방법 사용을 고려해보세요:

  • Dict Comprehension(Python 2.7 ):

    data = {k: [] for k in range(2)}
  • Dict 생성자를 사용한 List Comprehension:

    data = dict([(k, []) for k in range(2)])
  • Dict를 사용한 생성기 표현식 (Python 2.4-2.6):

    data = dict((k, []) for k in range(2))

간단한 예: 특정 키에 값 추가

다음 코드 의도된 동작을 보여줍니다.

data = {0: [], 1: []}
data[1].append('hello')
print(data)
# Output: {0: [], 1: ['hello']}

하나를 사용하여 제안된 방법 중 빈 목록의 사전을 초기화하고 다른 키 값에 영향을 주지 않고 개별 키 값을 수정할 수 있습니다.

위 내용은 Python의 `fromkeys` 메서드를 사용할 때 공유 참조를 어떻게 피할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.