1. 요구 사항
우리는 그 자체가 다른 사전의 하위 집합인 사전을 만들고 싶습니다.2.해결책
사전 도출을 이용하면 쉽게 풀 수 있습니다.
prices={ 'a':1.1, 'b':2.2, 'c':3.3, 'd':4.4, 'e':5.5 } p1={key:value for key ,value in prices.items() if value>3} print(p1) names={'a','b'} p2={key:value for key,value in prices.items() if key in names} print(p2)
결과:
{'c': 3.3, 'd': 4.4, 'e': 5.5} {'a': 1.1, 'b': 2.2}
3. 분석
사전 파생으로 해결할 수 있는 대부분의 문제는 일련의 튜플을 생성한 다음 이를 dict() 함수에 전달하여 완료할 수도 있습니다. 예:
#结果为:{'c': 3.3, 'd': 4.4, 'e': 5.5} p3=dict((key,value) for key,value in prices.items() if value>3)
하지만 사전 파생 방법이 훨씬 더 명확하고 실제로 훨씬 빠르게 실행됩니다. (첫 번째 효율성은 거의 2배 더 빨라집니다.)
때로는 같은 시간에 같은 일을 완료하는 방법이 여러 가지가 있습니다. 예를 들어 두 번째 예는 다음과 같이 다시 작성할 수도 있습니다.
#结果为:{'b': 2.2, 'a': 1.1} p4={key:prices[key] for key in prices.keys() & names}
그러나 테스트에 따르면 이 솔루션은 첫 번째 솔루션보다 거의 1.6배 느린 것으로 나타났습니다. 따라서 동일한 문제에 대해 여러 가지 해결책이 있는 경우 약간의 테스트를 통해 소요 시간을 연구할 수 있습니다.
위 내용은 Python은 사전(코드)에서 하위 집합을 추출하는 메서드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!