小编PyP*_*lia的帖子

有没有办法让地图对象重复?

假设我有一个 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
推荐指数
1
解决办法
42
查看次数

标签 统计

python ×1