假设我有一个 map object: map(lambda x: int(x), "123"),但我想要 6 个项目,我希望1,2,3,1,2,3(注意我不想要列表格式,我会使用 next 来获取每个项目),但是一旦我得到一个 StopIteration 错误拉出3个项目。我确实有一个解决方法,但它并不像我想要的那么干净:
def MakeMap(): return map(lambda x:int(x), "123")
mapped=MakeMap()
for i in range(6):
try:
print(next(mapped))
except StopIteration:
mapped=MakeMap()
print(next(mapped))
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但如上所述,我希望它像以下一样简单:
mapped=map(lambda x:int(x), "123")
for i in range(6):
print(next(mapped))
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
python ×1