【发布时间】:2017-11-22 09:14:53
【问题描述】:
这是我在 stackoverflow 上的第一篇文章/问题!
我在尝试替换表情符号(包含在元组内的列表中)时遇到问题。代码如下:
emoticons = [('SMILE',[':-)', ':)', '(:', '(-:']),
('LAUGH',[':-D', ':D', 'X-D', 'XD', 'xD']),
('LOVE', ['<3', ':\*']),
('WINK', [';-)', ';)', ';-D', ';D', '(;', '(-;']),
('FROWN', [':-(', ':(', '(:', '(-:']),
('CRY', [':,(', ':\'(', ':"(', ':(('])]
def token_to_emot(token):
for (emoji, smileys) in emoticons:
if token in smileys:
converted = token.replace(token, emoji)
return converted
else:
return token
sample_tweet = ['It', 'was', 'amazing', ':)']
processed_tweet = [token_to_emot(token) for token in sample_tweet]
print(processed_tweet)
第一次尝试产生了预期的输出:
['It', 'was', 'amazing', 'SMILE']
但是,如果我使用剩余元组中的笑脸对其进行测试,则代码不起作用并且表情符号不会被转换。有人可以帮我找出这里的列表理解有什么问题吗?或者也许建议另一种将表情符号转换为字符串的方法? 谢谢!
【问题讨论】:
标签: python-3.x nlp list-comprehension