본문 바로가기

default3

Python defaultdict의 defaultdict?, defaultdict of defaultdict? 질문 다음 코드가 작동하도록 defaultdict(defaultdict(int))를 가지는 방법이 있을까요? for x in stuff: d[x.a][x.b] += x.c_int x.a와 x.b 요소에 따라 d를 ad-hoc로 구축해야 합니다. 다음과 같이 사용할 수 있습니다: for x in stuff: d[x.a,x.b] += x.c_int 하지만 그러면 다음을 사용할 수 없게 됩니다: d.keys() d[x.a].keys() 답변 예, 이렇게: defaultdict(lambda: defaultdict(int)) defaultdict의 인자(lambda: defaultdict(int))는 존재하지 않는 키에 액세스하려고 할 때 호출됩니다. 그 결과값은 이 키의 새로운 값으로 설정됩니다. 즉, 우리의 .. 2023. 11. 3.
Python에서 **kwargs를 올바르게 사용하는 방법, Proper way to use **kwargs in Python 질문 **kwargs를 기본값으로 사용하는 경우 Python에서 올바른 방법은 무엇인가요? kwargs는 사전을 반환하지만, 기본값을 설정하는 가장 좋은 방법은 무엇인가요? 단순히 사전으로 접근해야 할까요? get 함수를 사용해야 할까요? class ExampleClass: def __init__(self, **kwargs): self.val = kwargs['val'] self.val2 = kwargs.get('val2') 내가 본 코드에서 사람들은 서로 다른 방식으로 이를 수행하며, 어떤 것을 사용해야 할지 알기 어렵습니다. 답변 딕셔너리에 없는 키에 대해 get()에 기본값을 전달할 수 있습니다: self.val2 = kwargs.get('val2',"기본값") 하지만, 특정 기본값을 가진 특정 인.. 2023. 9. 13.
여러 개의 Python 버전과 PIP를 다루는 중이신가요?, Dealing with multiple Python versions and PIP? 질문 어떻게 하면 pip을 여러 버전의 Python과 잘 작동하게 할 수 있을까요? 예를 들어, pip을 사용하여 사이트 2.5 설치 또는 사이트 2.6 설치에 명시적으로 패키지를 설치하고 싶습니다. 예를 들어, easy_install을 사용할 때는 easy_install-2.{5,6}을 사용합니다. 그리고, 예 - 저는 virtualenv에 대해 알고 있으며, 아니요 - 이 문제에 대한 해결책은 아닙니다. 답변 현재 권장 사항은 현재 권장 사항은 python -m pip를 사용하는 것입니다. 여기서 python은 사용하려는 Python 버전입니다. 이 권장 사항은 Python의 모든 버전과 모든 형태의 가상 환경에서 작동하기 때문에 권장됩니다. 예를 들면 다음과 같습니다: # 시스템 기본 python:.. 2023. 7. 20.