python 如何打印不在列表中的单词

rekjcdws  于 2023-01-24  发布在  Python
关注(0)|答案(2)|浏览(159)

我有两个文件,第一个是推文列表,第二个是标准词汇列表,看起来像这样:

acoustics
acquaint
acquaintable
tbc....

我想迭代tweet列表,并打印标准单词列表中没有的单词。
我是这么试的:
x一个一个一个一个x一个一个二个一个x一个一个三个一个
我得到了这个错误:'int' object is not subscriptable

bfnvny8b

bfnvny8b1#

阅读并按照错误信息,然后你会找出问题是什么。
在追溯中,您会看到一个指向for x in (len(tokenized_tweets)):行的箭头。错误消息如下:在for循环中你的可迭代对象是什么?(len(tokenized_tweets))这真的是一个可迭代对象吗?不,它是一个intlen()的输出总是一个int(除非你覆盖它)。
你应该把tokenized_tweetes的长度传递给range()对象,它是一个可迭代对象。

额外头端:

既然你要为每条tweet找到单词,那么就把你的单词做成一个set。set的成员资格测试比list快得多。(O(1)〉O(n))
如果有重复项,它也会删除。

溶液:

with open("wordslist.txt") as f:
    words_list = {word.removesuffix("\n") for word in f}

with open("tweets.txt") as g:
    for tweete in g:
        for word in tweete.split():
            if word not in words_list:
                print(word)
omqzjyyz

omqzjyyz2#

简单地使用它,您将错过编写range的机会

for x in range(len(tokenized_tweets)):
    if x[0] not in dlist:
        print(tokenized_tweets[x])

相关问题