在python中的Set中插入一个变量

use*_*850 -1 python list insert add set

我在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()
Run Code Online (Sandbox Code Playgroud)

Sim*_*ser 21

什么时候s是列表,你可以这样做:

s.insert(len(s),x)
Run Code Online (Sandbox Code Playgroud)

这意味着:"将元素插入xs位置列表中len(s)",这意味着您将元素插入列表的末尾.

什么时候s是一套,你可以这样做:

s.add(x)
Run Code Online (Sandbox Code Playgroud)

集合没有订单,因此您无需指定仓位.一个集合也不包含重复项,如果需要它可能很有用.如果没有,您可以使用列表.


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

if y=='NN':
    FILE.writelines(x+",")
        s.insert(len(s),x)
Run Code Online (Sandbox Code Playgroud)

这应该是这样的:

if y=='NN':
    FILE.writelines(x+",")
    s.insert(len(s),x)
Run Code Online (Sandbox Code Playgroud)