【发布时间】:2016-08-21 05:06:43
【问题描述】:
我应该编写一个生成器,给定一个可迭代参数列表,从第一个参数产生第一个元素,从第二个参数产生第一个元素,从第三个元素产生第一个元素,从第一个参数产生第二个元素等等。
所以
''.join([v for v in alternate('abcde','fg','hijk')]) == afhbgicjdke
我的函数适用于这样的字符串参数,但是当我尝试使用这样的给定测试用例时遇到问题
def hide(iterable):
for v in iterable:
yield v
''.join([v for v in alternate(hide('abcde'),hide('fg'),hide('hijk'))])= afhbgicjdke
这是我的生成器:
def alternate(*args):
for i in range(10):
for arg in args:
arg_num = 0
for thing in arg:
if arg_num == i:
yield thing
arg_num+=1
我可以更改其中的某些内容以使其按描述工作,还是我的功能存在根本性问题?
编辑:作为作业的一部分,我不允许使用 itertools
【问题讨论】:
-
EDIT: as part of the assignment, I am not allowed to use itertools/me 仍然没有删除#homework 标签。 “作为运输任务的一部分,我不能使用轮子”。