Почему цикл for в функции не работает как цикл for при вызове функции? - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь выполнить функцию анализа настроения в некоторых твитах для задания, и у меня возникло несколько проблем.

1) Когда я использую цикл for сам по себе, он работает, но когда я пытаюсь вызвать его для функции, это не так, но если бы я просто использовал цикл for самостоятельно, япришлось бы повторять один и тот же код (поскольку анализ настроений учитывает часовые пояса, поэтому мне придется просто повторять код снова и снова для разных часовых поясов, а не просто вызывать функцию несколько раз).

def sentiment_calculations(keywordsFromTweet, wordCounter, tweetCounter, sentimentValue):
        tweetCounter += 1
        for word1, key1 in valueAndKeywordList:
            for j in tweetsWithLatLong:
                for i in j:
                    for k in i:
                        if k == word1 in keywordList:
                            keywordsFromTweet.append(k)
                            wordCounter += 1
        for word2, key2 in valueAndKeywordList:
            for i in keywordsFromTweet:
                if i == word2:
                    sentimentValue.append(key2)
        average = sum(sentimentValue)/wordCounter
        finalTuple = (average, wordCounter, tweetCounter)
        return finalTuple

Вот функция, которая предназначена для вычисления ключевых слов в каждом твите, количества ключевых слов в каждом твите, количества твитов и значения настроения.

 keywordsFromTweetEastern = []
    sentimentValueFromTweetEastern = []
    #Eastern
    for i in tweetsWithLatLong:
        j = i[0]
        if float(j[0]) <= p1[0] and float(j[0]) >= p2[0] and float(j[1]) <= p1[1] and float(j[1]) >= p3[1]:
            eastern = sentiment_calculations(keywordsFromTweetEastern, wordCounterEastern, easternTweets, sentimentValueFromTweetEastern)

Вот первый раззона (восточное стандартное время), через которую я хочу выполнить функцию.

Вывод ДОЛЖЕН давать мне правильные числа по порядку (общее значение настроения по ключевым словам в каждом твите, количество ключевых слов из каждого часового пояса и количество твитов из каждого часового пояса),но он не зацикливается, как цикл for, если только я не копирую и не вставляю код из функции для каждого часового пояса.

Но я хочу сделать функцию для этого, а не иметь повторяющийся код.

Помощь приветствуется! Спасибо!

...