조합 함수를 작성하는 방법을 찾으려고합니다. 어디에서 찾을 수 있습니까?itertools.combinations() 함수의 소스 코드는 어디에서 찾을 수 있습니까?
11
A
답변
13
itertools.combinations의 설명서를 참조하십시오. http://www.python.org/download/
하는 다운로드 최신 버전을 시도해보십시오 : 최신 소스에서 다운로드 할 수 있습니다
def combinations(iterable, r):
# combinations('ABCD', 2) --> AB AC AD BC BD CD
# combinations(range(4), 3) --> 012 013 023 123
pool = tuple(iterable)
n = len(pool)
if r > n:
return
indices = range(r)
yield tuple(pool[i] for i in indices)
while True:
for i in reversed(range(r)):
if indices[i] != i + n - r:
break
else:
return
indices[i] += 1
for j in range(i+1, r):
indices[j] = indices[j-1] + 1
yield tuple(pool[i] for i in indices)
1
:이 기능에 대한 해당 코드가 Python 2.7.1 실제 소스 코드는 C로 작성 할 수 있습니다
16
파일 itertoolsmodule.c
에 있습니다. eumiro's answer에서 지적한대로 documentation of itertools.combinations()
은 동일한 Python 코드를 보여줍니다.
2
관련 문제
- 1. Java의 Square Root 함수의 소스 코드는 어디에서 찾을 수 있습니까?
- 2. ldconfig의 소스 코드는 어디에서 찾을 수 있습니까?
- 3. httpsURLConnection 소스 코드는 어디에서 찾을 수 있습니까?
- 4. JDK에서 네이티브 코드는 어디에서 찾을 수 있습니까?
- 5. 파이썬의 hash() 함수의 소스 또는 알고리즘은 어디에서 찾을 수 있습니까?
- 6. 카메라 안드로이드 API의 원시 소스 코드는 어디에서 찾을 수 있습니까?
- 7. NServicebus 2.1 소스 코드는 어디에서 찾을 수 있습니까?
- 8. Java 데이터 구조의 소스 코드는 어디에서 찾을 수 있습니까?
- 9. Redhat의 내쉬 유틸리티에 대한 소스 코드는 어디에서 찾을 수 있습니까?
- 10. 수학 곡선을 시각화하기위한 C# 소스 코드는 어디에서 찾을 수 있습니까?
- 11. RSA의 공식 소스 코드는 어디에서 찾을 수 있습니까?
- 12. Google 토크 Android 클라이언트 소스 코드는 어디에서 찾을 수 있습니까?
- 13. 특정 컴파일러를 벤치마킹하기위한 좋은 소스 코드는 어디에서 찾을 수 있습니까?
- 14. BLAS 예제 코드는 어디에서 찾을 수 있습니까?
- 15. 안드로이드의 앱 코드는 어디에서 찾을 수 있습니까?
- 16. 어디에서 FlexMonkium 소스 코드를 찾을 수 있습니까?
- 17. BitTorrent 소스 코드를 어디에서 찾을 수 있습니까?
- 18. Android : 네이티브 브라우저 앱의 코드는 어디에서 찾을 수 있습니까?
- 19. iPhone에서 사진에 효과를 추가하는 샘플 코드는 어디에서 찾을 수 있습니까?
- 20. ocaml에서 표준 라이브러리의 소스 코드는 어디에 있습니까?
- 21. ContactsListActivity는 어디에서 찾을 수 있습니까?
- 22. 이 함수의 기본 구현은 어디에서 찾을 수 있습니까?
- 23. Android : Google 뮤직 앱 코드는 어디에서 찾을 수 있습니까?
- 24. iPhone 응용 프로그램의 샘플 코드는 어디에서 찾을 수 있습니까?
- 25. 애플리케이션 내에서 iAd를 통합하기위한 샘플 코드는 어디에서 찾을 수 있습니까?
- 26. 안드로이드 용 Gmail, 페이스 북 및 트위터 앱의 소스 코드는 어디에서 찾을 수 있습니까? 오픈 소스인가?
- 27. JBoss AS 5 기본 예외 처리 JSP의 소스 코드는 어디에서 찾을 수 있습니까?
- 28. Objective-C 2.0 런타임의 최신 소스 코드는 어디에서 찾을 수 있습니까?
- 29. 어디에서 Castle.MicroKernel.dll을 찾을 수 있습니까?
- 30. 어디에서 GladeGen을 찾을 수 있습니까?
이것은 실제로 어떻게 작동합니까? 나는 + 무언가를 놓치고있는 것을 이해하려고 노력하고있다. 'indices' 배열은 풀의 어떤 요소가 사용되는지 알려주지 만, 반복을 포함하지 않는 인덱스 집합을 생성하는 방법을 파악할 수 없습니다. –
@ JasonS, 몇 가지 점 : 첫째, 예제에서 알 수 있듯이, 알고리즘은'indices'가 항상 정렬 된 튜플 (특히 반복을 허용하지 않는'indices [i]
user3780389
@JasonS 나는 else : return 문에 대해 혼란스러워합니다. 거기에 들여 쓰기가 무엇입니까? 실행될 때, 이것에 해당하는 경우는 무엇입니까? – MaPy