Python - Предыдущие и следующие значения внутри цикла - PullRequest
64 голосов
/ 18 июня 2009

Как я могу сделать что-то подобное в Python?

foo = somevalue
previous = next = 0

for (i=1; i<objects.length(); i++) {
    if (objects[i]==foo){
        previous = objects[i-1]
        next = objects[i+1]
    }
}

Ответы [ 11 ]

0 голосов
/ 18 июня 2009

Вы можете просто использовать index в списке, чтобы найти, где находится somevalue, а затем получить предыдущее и следующее при необходимости:


def find_prev_next(elem, elements):
    previous, next = None, None
    index = elements.index(elem)
    if index > 0:
        previous = elements[index -1]
    if index < (len(elements)-1):
        next = elements[index +1]
    return previous, next


foo = 'three'
list = ['one','two','three', 'four', 'five']

previous, next = find_prev_next(foo, list)

print previous # should print 'two'
print next # should print 'four'


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...