【问题标题】:EOL while scanning string literal error扫描字符串文字错误时 EOL
【发布时间】:2017-05-18 16:17:40
【问题描述】:

所以我正在尝试使用这段代码

我在扫描字符串文字时收到错误 SyntaxError: 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())

我错过了什么?

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

TypeError: 不支持的操作数类型 -: 'list' 和 'list'

代码:

 # 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 有帮助吗?

【问题讨论】:

  • 把你的正则表达式模式字符串放在一行
  • 完成了,可以了。简单的错误:)
  • 另一个错误和上面的代码被编辑,TypeError: unsupported operand type(s) for -: 'list' and 'list'

标签: python eol


【解决方案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)))

【讨论】:

    猜你喜欢
    • 2015-04-30
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多