gpt4 book ai didi

python - 接受迭代并返回字符串的函数

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:01 26 4
gpt4 key购买 nike

def alternate(*args):
l = ''
c = 0
while True:
try:
iterable = args[c]
i = iter(iterable)
l = l + next(i)
c = c + 1
except:
break
yield l

备用生成器将任意数量的可迭代对象作为参数:它从第一个参数生成第一个值,然后从第二个参数生成第一个值,...,然后从最后一个参数生成第一个值;然后是第一个参数的第二个值,然后是第二个参数的第二个值,...,然后是最后一个参数的第二个值;等等。如果任何可迭代对象不再产生任何值,则此生成器将不再产生任何值。例如:

for i in alternate('abcde','fg','hijk'):
print(i,end='')

答案是:

afhbgic

当我的函数执行时

('abcde','fg','hijk')

返回

afh

但正确答案是

afhbgic

有人能告诉我怎么解决吗?非常感谢!

最佳答案

这样的解决方案怎么样:

def alternate(*args):
l = ''

# initialize iterators for each argument
iterators = [iter(it) for it in args]

# iterate over lengths, using iterators
while True:
for it in iterators:
try:
l = l + next(it)
except StopIteration:
return l

return l


result = alternate('abcde','fg','hijk')
print(result) # afhbgic

关于python - 接受迭代并返回字符串的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com