-1

我在 Python 集中插入变量时遇到问题。有谁知道我得到了什么: s.insert(len(s),x)

我的问题是当我想将 x插入添加到集合或列表中时。

为什么我做不到?以及如何解决这个问题?

我的代码:

import nltk
import Set

FILE=open("out.txt", "w")
FILE.writelines("this is to show why using NNs :)!!!!\n")

text1=raw_input()
FILE.writelines("first text loaded.....\n")
sentences1=text1.split('.')
FILE.writelines("first text splited.....\n")

text2=raw_input()
FILE.writelines("second text loaded.....\n")
sentences2=text2.split('.')
FILE.writelines("second text splited.....\n")



s=['a','b']
FILE.writelines("\n NNs for first:\n")
for sen in sentences1:
    tokens1= nltk.word_tokenize(sen)
    tagged1 = nltk.pos_tag(tokens1)
    for (x, y) in tagged1:
        if y=='NN':
            FILE.writelines(x+",")
            s.insert(len(s),x)
FILE.writelines(len(s1))


FILE.writelines("\n NNs for second:\n")
for sen in sentences2:
    tokens2= nltk.word_tokenize(sen)
    tagged2 = nltk.pos_tag(tokens2)
    for (x, y) in tagged2:
        if y=='NN':
            FILE.writelines(x+",")
            s2[len(s2)]= x
FILE.writelines(len(s2))

print "********temoum**********"
FILE.close()
4

1 回答 1

22

何时s是列表,您可以执行以下操作:

s.insert(len(s),x)

这意味着:“将元素x插入列表s的位置len(s)”,这意味着您将元素插入到列表的末尾。

什么时候s是一个集合,你可以这样做:

s.add(x)

集合没有顺序,因此您无需指定位置。一个集合也不包含重复项,如果您需要它会很有用。如果没有,您可以改用列表。


意外的 IndentationError 可以在这里找到:

if y=='NN':
    FILE.writelines(x+",")
        s.insert(len(s),x)

这应该是这样的:

if y=='NN':
    FILE.writelines(x+",")
    s.insert(len(s),x)
于 2012-06-21T17:38:05.247 回答