以下代码给出了以特定前缀/后缀开头/结尾的单词。
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
提前致谢。
答案 0 :(得分:2)
如果word
是一个字符串,那么word[0] == "fi"
就不会按照您的想法执行。
您可以使用startswith
和endswith
来检查多字符后缀和前缀。
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 /...
上运行得很好