이 글은 주로 Python에서의 defaultdict와 람다 표현식의 사용법을 소개합니다. 여기에서 공유하겠습니다. 필요한 친구들이 참고할 수 있습니다.
이 글의 예제에서는 Python에서 defaultdict와 람다 표현식의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
튜토리얼에서 defaultdict가 클래스라고 보았지만 Python 2.7.6이 설치된 컴퓨터에서 사용하면 존재하지 않는 것으로 나타났습니다. . 문서를 검색했지만 찾을 수 없었기 때문에 이것이 Python 3.X에만 해당될 수 있다고 당연하게 여겼습니다. 튜토리얼은 Python 3.X를 기반으로 하기 때문입니다. 나중에 Python 3.X가 설치된 컴퓨터로 변경했지만 여전히 문제가 발생했습니다.
인터넷에 접속해보니 이 클래스가 실제로 collections 모듈에 있는 클래스라는 것을 알았습니다. 학습을 위한 온라인 환경을 없애기가 어려운 것 같아요!
이 클래스는 메서드를 재정의하고 이벤트 변수를 추가하는 dict의 하위 클래스입니다. 인스턴스화 중에 첫 번째 매개변수는 default_factory의 초기화 함수에 제공됩니다. 이 매개변수는 유형일 수도 있고 함수일 수도 있습니다. 실제로 유형은 기본적으로 팩토리 함수입니다. 그러나 때로는 이 방법을 사용하여 상수를 전달하고 싶을 때도 있습니다. 이 경우에는 상수 함수를 별도로 설계하거나 람다 식을 직접 사용해야 합니다.
먼저 다음 데모를 살펴보세요.
>>> fromcollections import defaultdict >>> c1 =defaultdict(int) >>>c1.get(123) >>>c1.get('abc') >>> defConst(): return 23 >>> c2 =defaultdict(Const) >>>c2.get(123) >>> c2 defaultdict(, {}) >>>c2[123] 23 >>>c2['abc'] 23 >>>c1[123] 0
위에서 볼 수 있듯이 이 메서드는 사전 개체에 존재하지 않는 키에 자동으로 기본값을 제공할 수 있습니다. 위의 방법을 사용하면 값이 상수라는 것을 자연스럽게 알 수 있지만 람다를 사용하면 코드가 더 간결해질 수 있습니다.
>>> c3 =defaultdict(lambda :123) >>>c3[12] 123
최근 사용 시나리오에서 이 방법을 사용하면 코드가 훨씬 간단해지고 더 간편해졌습니다. 익숙해진 후에도 코드의 가독성에는 영향을 미치지 않습니다.
관련 권장사항:
위 내용은 Python에서 defaultdict 및 람다 표현식 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!