擅长:python、mysql、java
<p>这可能是一个可行的解决办法。它将a的<code>(3*2 = 6)</code>的排列与b的<code>(2 at a time here, 4*4 == 16)</code>的<code>product</code>交错,得到总共<code>6 * 16 == 96</code>个结果。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>from itertools import permutations, chain, zip_longest, product
a = ["filename", "timestamp", "custom"]
b = ["_", "-", ".", ""]
i=0
for perm in permutations(a):
for prod in product(b,repeat=len(a)-1):
tpls = list(chain.from_iterable(zip_longest(perm, prod, fillvalue='')))
print(''.join(tpls))
i += 1
print(i)
</code></pre>