我没有得到我应该从标题中的该函数获得的结果数量,所以我希望得到你的帮助.
查看文档 http://docs.python.org/library/itertools.html#itertools.combinations 应该是结果的数量
返回的商品数量是n!/ r!/(nr)!当0 <= r <= n时,当r> n时为零.
它适用于那里的例子
组合('ABCD',2) - > AB AC AD BC BD CD
因为n!/ r!/(nr)!= 4!/ 2!/ 2!= 6
但是,如果我尝试
combinations('ABCDEF', 3) --> AB AC AD AE AF BC BD BE BF CD CE CF DE DF EF
Run Code Online (Sandbox Code Playgroud)
我得到了15个结果.但是n!/ r!/(nr)!= 6!/ 3!/(6-3)!= 720/6/6 = 20
所以:Python Docs告诉我,我应该有20个结果,但我得到15个.
你能帮我理解我错过的东西吗?也许是我的数学中的东西,因为该公式应该是正确的,因为它在维基百科组合条目中
谢谢,P
我有一个国际电话号码列表和一个国家/地区电话代码列表。
我想从数字中识别国家/地区,但我找不到快速而优雅的方法来做到这一点。
任何想法?我唯一得到的是进行硬编码检查(例如,“查看第一个数字,查看第二个数字:如果是 X,则检查第三个数字。如果第二个数字是 Y,则国家/地区是 Foo”,等等.)。我使用 PHP 和 DB (MySQL) 作为列表,但我认为任何伪代码都会有帮助。