为什么当我调用函数时,函数中的for循环不能用作for循环?

时间:2019-11-10 19:53:20

标签: python function loops for-loop twitter

我正在尝试对某些推文进行情感分析功能,但遇到了一些问题。

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)

这是我希望函数运行的第一个时区(东部标准时间)。

输出应该按顺序给我正确的数字(每个推文中关键字的情感总价值,每个时区中的关键字数量以及每个时区中的tweets数量),但不是除非我在每个时区复制并粘贴函数中的代码,否则应该像for循环那样进行循环。

但是我想创建一个函数来执行此操作,而不是使用重复的代码。

感谢您的帮助!谢谢!

0 个答案:

没有答案