显示"变量"不是数字Python

时间:2016-03-29 06:22:02

标签: python append label

我是新手。对不起这个愚蠢的问题。

我正在尝试计算单词,例如" Positive"," Negative"和" Neutral"在许多.txt文件中(3979个文件)。在算上之后,我想选一个计数最高的那个。

让我们在给定的文字中说,有5个正面,1个负面和0个中立。

我把它放在诸如

之类的列表中
myRev = [Positive, Negative, Neutral]

然后如果我使用

largest = max(myRev)

当我致电largest时,它会给出

5

在这种情况下,我希望显示的值为PositiveNegativeNeutral (>>>这是我的主要问题)

之后我想将PositiveNegativeNeutral放入另一个我附加的列表中......

ReviewList = []
ReviewList.append(maxNr)    

我希望如果我将ReviewList称为

Reviewlist = [Positive, Negative, Neutral, Neutral,... Neutral]

依旧......

我能为此做些什么?我是如此无能为力,尽可能多地尝试阅读,但我只是对此感到困惑......

这是我的 - 不太自信 - 代码:

listOfReview = []

for i in xrange(0,3979):
    f = open("ReviewsOutput%i.txt" %i, "r")
    myOutput = f.read()
    Positive = myOutput.count("Positive")
    Negative = myOutput.count("Negative")
    Neutral = myOutput.count("Neutral")
    myRev = [Positive, Negative, Neutral]
    largest = max(myRev)
    listOfReview.append(largest)
    f.close

1 个答案:

答案 0 :(得分:0)

您可以使用词典{'肯定':5,'否定':1,'否定':0}

>>> review = {'positive':5, 'negative':1, 'negative':0}
>>> maxNr = max(review, key=review.get)
>>> maxNr
'positive'
>>> ReviewList = []
>>> ReviewList.append(maxNr)
>>> ReviewList
['positive']

编辑: 你可以试试这个:

listOfReview = []
review = {'Positive':0, 'Negative':0, 'Neutral':0}

for i in xrange(0,3979):
    f = open("ReviewsOutput%i.txt" %i, "r")
    myOutput = f.read()
    review['Positive'] = myOutput.count("Positive")
    review['Negative'] = myOutput.count("Negative")
    review['Neutral'] = myOutput.count("Neutral")
    largest = max(review, key=review.get)
    listOfReview.append(largest)
    f.close

您还可以通过致电评论[最大]来获取评论次数。