擅长:python、mysql、java
<p>你应该签出itertools</p>
<ul>
<li><a href="https://docs.python.org/3/library/itertools.html" rel="nofollow noreferrer">https://docs.python.org/3/library/itertools.html</a></li>
</ul>
<pre><code>import itertools
itertools.combinations('abcdefghijklmnopqrstuvwxyz0123456789',4)
[('a', 'b', 'c', 'd'), ('a', 'b', 'c', 'e'), ('a', 'b', 'c', 'f'), ... ]
</code></pre>
<pre><code>[ "".join(c) for c in itertools.combinations('abcdefghijklmnopqrstuvwxyz0123456789',4) ]
['abcd', 'abce', 'abcf', 'abcg', 'abch', ...]
</code></pre>
<p>文档显示了各种选项之间的差异,这取决于顺序或重复是否重要</p>
<pre><code>product('ABCD', repeat=2)
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
permutations('ABCD', 2)
AB AC AD BA BC BD CA CB CD DA DB DC
combinations('ABCD', 2)
AB AC AD BC BD CD
combinations_with_replacement('ABCD', 2)
AA AB AC AD BB BC BD CC CD DD
</code></pre>