在 list/file 中找到 begin/ends 中具有特定 prefix/suffix 的所有单词

find all words in list/file that begin/ends with a specific prefix/suffix

下面的代码给出了 begin/ends 具有特定 prefix/suffix 的单词:

string_list = [line.strip() for line in open("file.txt", 'r')]
for word in string_list:
    if word[-1] == "a":
        print word

        
string_list = [line.strip() for line in open("file.txt", 'r')]
for word in string_list:
    if word[0] == "fi":
        print word

我如何优化它才能真正快速地处理大量数据?

如果 word 是一个字符串,那么 word[0] == "fi" 并不像您认为的那样。

您可以改为使用 startswithendswith 来检查 多字符 后缀和前缀。

string_list = open("file.txt", 'r')

for word in string_list:
    if word.startswith("fi") or word.endswith('a'):
        print word

要将后缀/前缀作为参数传递给您的脚本,请查看 argparse

如果您需要速度,您可以简单地使用 GREP,它是用低级语言编写的,肯定比 python 循环快得多。

它也是便携的,在 Linux/Windows/OSX/...

上运行良好