【发布时间】:2020-07-16 14:30:49
【问题描述】:
有没有办法在 python 中加快这段代码的速度?我需要使用超过 500k 的字符串来运行它,而且耗时太长。
每个单词都需要放入匹配的字典中。
-
example_sent_words = 500k 字符串列表
-
EmojiPos = 表情符号列表
-
EmojiNeg = 表情符号列表
-
OthersEmoji = 表情符号列表
emoji_pos=dict()
emoji_neg=dict()
emoji_others=dict()
for w in example_sent_words:
if w in s_EmojiPos:
remove_username_url.remove(w)
if w in emoji_pos:
emoji_pos[w] += 1
else:
emoji_pos[w] = 1
elif w in s_EmojiNeg:
remove_username_url.remove(w)
if w in emoji_neg:
emoji_neg[w] += 1
else:
emoji_neg[w] = 1
elif w in s_OthersEmoji:
remove_username_url.remove(w)
if w in emoji_others:
emoji_others[w] += 1
else:
emoji_others[w] = 1
编辑:我按照建议写了这个:
s_AdditionalEmoji = set(AdditionalEmoji)
s_EmojiNeg = set(EmojiNeg)
s_EmojiPos = set(EmojiPos)
【问题讨论】:
-
将 EmojiPos、EmojNeg 和 OthersEmoji 制作成集合,而不是列表。测试项目是否存在于集合而不是列表中要快得多。
-
感谢您的帮助!不幸的是,处理时间仍然相同
标签: python python-3.x loops for-loop