我试图找到一种方法来编写组合函数。我在哪里可以找到它?我在哪里可以找到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
16
实际的源代码是用C语言编写,并且可以在文件itertoolsmodule.c
中找到。正如eumiro's answer中指出的那样,documentation of itertools.combinations()
显示了等效的Python代码。
2
相关问题
- 1. 我在哪里可以找到JavaScript本机函数源代码?
- 2. 我在哪里可以找到Java数组的源代码?
- 3. 哪里可以找到math.h函数的源代码?
- 4. 我在哪里可以找到Vigenere密码的Java源代码?
- 5. 我在哪里可以找到GCC源代码中的strncpy()函数的实现?
- 6. 我在哪里可以找到C++的generic.h的源代码?
- 7. 我在哪里可以找到.net源代码中的ValueType构造函数?
- 8. 我在哪里可以找到springloaded-core jar的源代码?
- 9. 我在哪里可以找到TextView.setText(..)方法的源代码?
- 10. 我在哪里可以找到Singular(AngularJS for GWT)的源代码?
- 11. Git - 我在哪里可以找到实现.gitignore的源代码
- 12. 我在哪里可以找到android的firefox源代码?
- 13. 我在哪里可以找到TagLib#库的源代码?
- 14. 我在哪里可以找到RSA的官方源代码?
- 15. 我在哪里可以找到JavaEE软件包的源代码?
- 16. 我在哪里可以找到“暂停”工具的源代码?
- 17. 我在哪里可以找到J2ME的源代码?
- 18. 我在哪里可以找到gitk的源代码?
- 19. 我在哪里可以找到Ubuntu ARM init的源代码?
- 20. 我在哪里可以找到httpsURLConnection的源代码?
- 21. 我在哪里可以找到FlexMonkium源代码?
- 22. 我在哪里可以找到系统调用源代码?
- 23. 我在哪里可以找到Mnesia源代码?
- 24. 我在哪里可以找到NServicebus 2.1源代码?
- 25. 哪里可以找到数学函数ceil()在glibc中的源代码?
- 26. Selenium IDE - 我可以在哪里找到assertTextPresent的源代码js代码?
- 27. 我在哪里可以找到request_irq函数中的IRQ号码?
- 28. 哪里可以找到sitemesh 2.4.1源码?
- 29. BerkeleyDB是开源的吗?我在哪里可以找到它的源代码?
- 30. 在哪里可以找到Linux系统调用的源代码?
这实际上是如何工作的?我试图理解+我错过了一些东西。 'indices'数组告诉我使用了哪些池的元素,但我似乎无法弄清楚它是如何产生不包含重复的索引集的。 – 2015-03-13 00:26:22
@JasonS,有几点:首先,从示例中注意到,算法生成的具有'indices'的元组总是被排序(特别是'indices [i]
user3780389
2017-03-08 17:21:42
@JasonS我对else:return语句感到困惑。那里有什么缩进。什么时候执行,如果对应于这个else? – MaPy 2017-10-02 16:18:41