在 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"
并不像您认为的那样。
您可以改为使用 startswith
和 endswith
来检查 多字符 后缀和前缀。
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/...
上运行良好
下面的代码给出了 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"
并不像您认为的那样。
您可以改为使用 startswith
和 endswith
来检查 多字符 后缀和前缀。
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/...
上运行良好