2017-05-18 57 views
1

所以我想用这段代码EOL而扫描字符串文字错误

工作,我得到的错误语法错误:EOL同时扫描字符串字面

代码:

def clean_tweet(self, tweet): 
    ''' 
    Utility function to clean tweet text by removing links, special characters 
    using simple regex statements. 
    ''' 
    return ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t]) 
           |(\w+:\/\/\S+)", " ", tweet).split()) 

我错过了什么?

其次,当我运行这部分代码下面我得到的错误

类型错误:不支持的操作类型为 - :“名单”和“名单”

代码:

# picking positive tweets from tweets 
ptweets = [tweet for tweet in tweets if tweet['sentiment'] == 'positive'] 
# percentage of positive tweets 
print("Positive tweets percentage: {} %".format(100*len(ptweets)/len(tweets))) 
# picking negative tweets from tweets 
ntweets = [tweet for tweet in tweets if tweet['sentiment'] == 'negative'] 
# percentage of negative tweets 
print("Negative tweets percentage: {} %".format(100*len(ntweets)/len(tweets))) 
# percentage of neutral tweets 
print("Neutral tweets percentage: {} % \ 
    ".format(100*len(tweets - ntweets - ptweets)/len(tweets))) 
# percentage of neutral tweets 
print("Neutral tweets percentage: {} % \ 
    ".format(100*len(tweets - ntweets - ptweets)/len(tweets))) 

是因为我试图从列表中减去一个列表,如果是的话numpy帮助?

+1

把你的正则表达式字符串都在一行 – ryugie

+0

完成的,它的工作原理。简单的错误:) – Silas

+0

上面的另一个错误和代码被编辑,TypeError:不支持的操作数类型为 - :'list'和'list' – Silas

回答

1

关注:

print("Neutral tweets percentage: {} % \ 
    ".format(100*len(tweets - ntweets - ptweets)/len(tweets))) 

显然tweetsntweetsptweets都是列表,因此具有长度。然后,我想你可以重新写为:

print("Neutral tweets percentage: {} % \ 
    ".format(100*(len(tweets) - len(ntweets) - len(ptweets))/len(tweets))) 
+0

这适用于我!感谢:) – Ying

+0

@Ying,你很受欢迎。 –