我需要在给定半径的给定索引周围的列表中搜索项目.目前我使用此功能为搜索生成交替偏移:
def generateSearchIndizes(radius):
for i in range(1, radius + 1):
yield i
yield -i
Run Code Online (Sandbox Code Playgroud)
执行搜索的代码如下所示:
for i in generateSearchIndizes():
if pred(myList[baseIndex + i]):
result = myList[baseIndex + i]
break # terminate search when first item is found
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否有更优雅的方式来生成搜索indizes,可能没有定义特殊功能?
有没有更优雅的方法来生成搜索索引
我认为没有更优雅的方式。你的代码非常简单明了。
也许没有定义特殊函数?
是的,这绝对是可能的。
>>> [b for a in ((x,-x) for x in range(1, 10 + 1)) for b in a]
[1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, -6, 7, -7, 8, -8, 9, -9, 10, -10]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |