Python在数组中查找索引

时间:2012-11-23 04:56:46

标签: python

我试图查看公司列表中的公司是否在文件中。如果是我利用该公司的索引来增加另一个数组中的变量。以下是我的python代码。我一直收到以下错误:AttributeError:'set'对象没有属性'index'。我无法弄清楚出了什么问题,并认为错误是被**包围的行。

companies={'white house black market', 'macy','nordstrom','filene','walmart'}
positives=[0 for x in xrange(len(companies))]
negatives=[0 for x in xrange(len(companies))]

for line in f:
    for company in companies:
        if company in line.lower():
            words=tokenize.word_tokenize(line)
            bag=bag_of_words(words)
            classif=classifier.classify(bag)
            if classif=='pos':
                **indice =companies.index(company)**
                positives[indice]+=1
            elif classif=='neg':
                **indice =companies.index(company)**
                negatives[indice]+=1 

3 个答案:

答案 0 :(得分:3)

companies={'white house black market', 'macy','nordstrom','filene','walmart'}

是一套。它有独特的条目。

companies=['white house black market', 'macy','nordstrom','filene','walmart']

是一个列表,并且可以有多个相同值的条目。它也可以编入索引。

答案 1 :(得分:2)

companies={'white house black market', 'macy','nordstrom','filene','walmart'}

以上声明是set。由于set 没有排序,因此您无法从中获取任何元素的索引。

>>> d = {2, 3, 4, 5}
>>> d
set([2, 3, 4, 5])  # It is a Set

因此,要索引元素,应将其声明为List: -

companies=['white house black market', 'macy','nordstrom','filene','walmart']

答案 2 :(得分:1)

公司是一个集合,并且设置没有顺序,所以它不能使用index()。您可以将其更改为列表:

companies=['white house black market', 'macy','nordstrom','filene','walmart']