如何在python中替换一个类列表中的多个字符串?

pkbketx9  于 2023-01-12  发布在  Python
关注(0)|答案(2)|浏览(101)

我有一个包含数百条推文的推文列表。我想通过循环遍历推文来将推文列表中的非标准单词替换为标准单词。
我使用这段代码读取包含标准单词的文件

dk = open('standard_word.txt','r')
dlist = []
for x in dk.readlines():
    dlist.append(x.replace('\n',''))

dlist

然后我用这段代码打印不在列表中的单词

for x in tweets:
    if x[0] not in dlist:
        print(x[0],x[1],x[2],x[3],x[4],x[5])

但它仅限于打印前五个字符串,我正在寻找一种方法来打印所有的字符串没有限制(灵活的字符串数量在每个tweet).谢谢你的帮助:)

kmpatx3s

kmpatx3s1#

我不确定我是否正确地理解了你的意思,但你是不是说:

equivalences = {"jst": "just"}
tweets = ['This is jst a random tweet']

for id, tweet in enumerate(tweets):
    for word in tweet.split():
        if word.lower() in list(equivalences.keys()):
            tweet = tweet.replace(word, equivalences[word])
    tweets[id] = tweet

print(tweets)
qltillow

qltillow2#

如果你需要替换不规范的单词,你可以用等价词典来做......

EDIT:代码已更改为仅使用“等效”字典!

equivalences = {"jst": "just", "stp":"stop"}
tweets = ['This is jst a random tweet', 'Stp it now']

for idx, tweet in enumerate(tweets):
    for word in tweet.split():
        if word.lower() in equivalences:
            tweet = tweet.replace(word, equivalences[word.lower()])
    tweets[idx] = tweet

print(tweets)

相关问题