Python在单词集检查包中
我有一个文本处理脚本,需要检查单词是否在单词包中。我必须做这件事无数次。我认为最有效的方法是定义我正在检查的wordBag=set['this','are','my','words']的单词集,然后如果wordBag中的单词:,则执行此操作。我查看了文档,这是平均情况O1和最坏情况O1。这仅仅是因为hashset中的链接吗?有没有一种更像python的方法呢?这真的取决于你的单词集的大小。对于任何可能高达数万的非巨量,您的方法绝对是好的,完全是python式的。简单是一种美德 如果您的包中有大量的单词,那么使用或trie方法可能是最好的,因为您可以检查PyPI的现有实现Python在单词集检查包中,python,performance,Python,Performance,我有一个文本处理脚本,需要检查单词是否在单词包中。我必须做这件事无数次。我认为最有效的方法是定义我正在检查的wordBag=set['this','are','my','words']的单词集,然后如果wordBag中的单词:,则执行此操作。我查看了文档,这是平均情况O1和最坏情况O1。这仅仅是因为hashset中的链接吗?有没有一种更像python的方法呢?这真的取决于你的单词集的大小。对于任何可能高达数万的非巨量,您的方法绝对是好的,完全是python式的。简单是一种美德 如果您的包中有大量
编辑:最坏的情况只有在您怀疑的大量散列冲突的情况下才会发生,但这在实践中通常不是问题。在任何情况下,我都会首先使用最简单的方法,如果您确实存在性能或内存问题,我只会查看更高级的解决方案。您是对的。最佳情况:O1->无碰撞。最坏的情况:On->所有条目散列到同一位置,并且您遵循n个链。