本文介绍了在python中跳过产量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在写一个生成器
,它带有一个 iterable
和一个整数 n
。例如,如果我打电话给我的发电机:
I'm writing a generator
that takes an iterable
and an integer n
. For example if I call my generator:
generator('abcdefg',2)
然后它应该产生 a
, d
, g
跳过2个字母。
then it should yield a
, d
, g
skipping 2 letters.
当我打电话给 iter(可迭代)
然后使用 yield next
yield
会自动跳过1个字母。我如何告诉python跳过让步,所以我可以跳过 n
字母?
When I call iter(iterable)
then use yield next
the yield
automatically skips 1 letter. How would I tell python to skip yielding so I can skip n
letters?
推荐答案
这可能是你想要的
def generator(string, skip):
for i,c in enumerate(string):
if i % (skip+1)==0:
yield c
这实际上并没有跳过yield语句,即每个yield都被执行。但是,仅在字符串字符的迭代的固定间隔调用yield。
This doesn't actually "skip" yield statements, that is every yield is executed. However, yield is only called at fixed intervals of the iteration over string characters.
这篇关于在python中跳过产量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!