我试图用另一个词替换一个词的出现:
word_list = { "ugh" : "disappointed"}
tmp = ['laughing ugh']
for index, data in enumerate(tmp):
for key, value in word_list.iteritems():
if key in data:
tmp[index]=data.replace(key, word_list[key])
print tmp
Run Code Online (Sandbox Code Playgroud)
而这有效...... ughin的出现laughing也在输出中被替换:ladisappointeding disappointed.
如何避免这种情况,以便输出是laughing disappointed?
在这种情况下,您可能需要考虑逐字替换。
例子:
word_list = { "ugh" : "disappointed"}
tmp = ['laughing ugh']
for t in tmp:
words = t.split()
for i in range(len(words)):
if words[i] in word_list.keys():
words[i] = word_list[words[i]]
newline = " ".join(words)
print(newline)
Run Code Online (Sandbox Code Playgroud)
输出:
laughing disappointed
Run Code Online (Sandbox Code Playgroud)
分步说明:
获取 tmp 中的每个句子list:
for t in tmp:
Run Code Online (Sandbox Code Playgroud)将句子拆分为words:
words = t.split()
Run Code Online (Sandbox Code Playgroud)检查是否所有word的words都在word_list keys。如果是,请将其替换为value:
for i in range(len(words)):
if words[i] in word_list.keys():
words[i] = word_list[words[i]]
Run Code Online (Sandbox Code Playgroud)重新加入替换的单词并打印出结果:
newline = " ".join(words)
print(newline)
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |