Necesito buscar un artículo en una lista alrededor de un índice dado dentro de un radio dado. Actualmente utilizo esta función para generar la alternancia compensaciones para la búsqueda:¿Cómo generar un rango alterno?
def generateSearchIndizes(radius):
for i in range(1, radius + 1):
yield i
yield -i
El código que hace la búsqueda se ve algo como esto:
for i in generateSearchIndizes():
if pred(myList[baseIndex + i]):
result = myList[baseIndex + i]
break # terminate search when first item is found
Mi pregunta es, ¿hay una forma más elegante para generar la búsqueda indiza, ¿quizás sin definir una función especial?
Ok, esto es solo un ejemplo, y uno estúpido en eso. Lo he corregido –