2024-10-02 18:18:26 发布
网友
我尝试在python中创建一个生成器,它返回以下内容: 在
itemList = [] for i in myGenerator(12): itemList.append(i) print itemList >>> [0 0.334, 1, 2, 3, 4, 5, 6, 7, 8, 8.667, 9]
这就是我目前所拥有的: 在
但似乎不干净。。。有别的办法吗?在
我会分段构建范围:
from itertools import chain def myGenerator(index): return chain([0, 1 / 3.0], xrange(1, index - 3), [index - 3 - 1 / 3.0, index - 3]) list(myGenerator(12)) [0, 0.33333333333333331, 1, 2, 3, 4, 5, 6, 7, 8, 8.6666666666666661, 9]
如果你想保持接近你最初的想法,但没有“如果…elif…else”结构:
def myGenerator(index) : yield 0 yield 1/3.0 for i in xrange(1, index-3): yield i yield index - 3 - 1/3.0 yield index - 3
我会分段构建范围:
如果你想保持接近你最初的想法,但没有“如果…elif…else”结构:
相关问题 更多 >
编程相关推荐