目前正在使用python3.3。我目前在如何编写一个函数时遇到了一点问题,该函数将一个iterable
和一个int
作为参数,并从iterable
生成值,从第一个开始,跳过int
指定的值的数目。你知道吗
我的代码如下:
def skipping(iterable,n=0):
_iters = iter(iterable)
try:
while True:
current = next(_iters)
count = n
while count != 0:
count -= 1
current = next(_iters)
count = n
yield current
except StopIteration:
pass
当我呼叫skipping('abcdefghijklmnopqrstuvwxyz', 1)
。我得到了.join()
:
bdfhjlnprtvxz <---- Wrong output
我想得到:
acegikmoqsuwy <---- Right output
有人有什么想法吗?你知道吗
^{} 已经提供了:
文档还为
islice
提供了近似等效的Python代码:你的代码中的错误是你去跳过,放弃,放弃,放弃而不是放弃,放弃,放弃。在开始跳过元素之前,需要首先生成元素:
相关问题 更多 >
编程相关推荐