gpt4 book ai didi

python - 在没有正则表达式的情况下检查整个单词是否在python中的文本文件中

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:38 25 4
gpt4 key购买 nike

我正在尝试查找某个单词是否在文件中,而不是它是否是部分单词的一部分。例如,如果 word = 'tes' 和 'test' 在单词列表中,我希望它返回 False。我已经找到可以通过正则表达式执行此操作的位置,但由于我没有在我所学的内容中涵盖该部分,我想看看如果没有它我是否可以完成此操作。

这是我目前所拥有的:

WORDLIST_FILENAME = "words.txt"

def isValidWord(word, hand, wordList):
letters = {}
for i in word:
letters[i] = letters.get(i, 0) + 1

if word.upper() in open(wordList).read():
for i in letters:
if i in hand:
if hand[i] >= letters[i]:
continue
else:
return False
else:
return False
return True
else:
return False


word = 'tes'
hand = {'t': 3, 'a': 1, 's': 1, 'i': 1, 'n': 1, 'g': 1}

print(isValidWord(word, hand, 'words.txt'))

即使“tes”实际上不在 word.txt 中,也会返回 True。我知道为什么,因为我正在检查该字符串是否在文件周期内,但我不知道如何解决这个问题。

最佳答案

您可能想查看 in 关键字,因为它看起来就是您想要的。

这是一个简单的例子:

>>> word = "some"
>>> sentence = "This is a sentence with some words."
>>> word in sentence
True

因为您不希望它匹配部分单词,您可以删除所有非字母字符,然后拆分您的字符串:

>>> sentence = ''.join(char for char in sentence if char.isalpha() or char.isspace()).split()
>>> "words" in sentence
True
>>> "word" in sentence
False

老实说,我会为此使用正则表达式。

关于python - 在没有正则表达式的情况下检查整个单词是否在python中的文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48375511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com