擅长:python、mysql、java
<p>一个常见的解决方案是在使用<code>yield</code>之前尝试过滤。我给你举了一个在屈服前过滤的例子:</p>
<pre><code>import itertools
def my_gen(my_string):
# Create combinations
for length in range(len(my_string)):
for my_tuple in itertools.combinations(my_string, length+1):
# This is the string you would like to output
output_string = "".join(my_tuple)
# filter here:
if output_string[0] != '0':
yield output_string
my_string = '1023'
print(list(my_gen(my_string)))
</code></pre>
<p>编辑:添加到生成器理解选项中</p>
^{pr2}$