Запуск функции, когда строка в списке отличается от строки в предыдущем значении списка - PullRequest
0 голосов
/ 17 марта 2019

У меня есть функция, которую я хотел бы запускать каждые 10 секунд.Это имеет глобальную переменную, которая является строкой с именем marketId.

В какой-то момент эта строка изменяется.Когда это происходит, я хочу запустить новую функцию.

Для этого я попробовал следующее:

def test():
    print("working")


def loop():

    marketId_list = []

    while True:

        time.sleep(10)

        full_function()

        marketId_list.append(marketId)

        for i in marketId_list:

            if marketId_list[i] != marketId_list[i-1]:

                test()

Но когда я запускаю функцию loop(), я получаю сообщение об ошибке:

TypeError: list indices must be integers or slices, not str

Любая помощь врешение этого будет оценено, ура.Sandy

1 Ответ

1 голос
/ 17 марта 2019

Попробуйте это:

for i, item in enumerate(marketId_list):
    if i>0 and marketId_list[i] != marketId_list[i-1]:
        test()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...