查找列表/文件中以特定前缀/后缀开头/结尾的所有单词

时间:2016-09-19 12:37:32

标签: python regex 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

如何优化它以便在巨大数据上快速实现。 我怎么能通过像

这样的参数
python test.py --prefix fi
python test.py --suffix o

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果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

答案 1 :(得分:0)

如果你需要速度,你可以简单地使用GREP,它是用低级语言编写的,并且必然比python循环更快。

它也是可移植的,在Linux / Windows / OSX /...

上运行得很好