我需要对列表中的每个元素应用一些正则表达式替换。我写了一个函数来少重复自己。反正还是有太多的重复。我该如何优化呢?
def cleanlist(mylist, regex, substitution):
tmp_list = mylist
cleaned_list = [re.sub(regex, substitution, line) for line in tmp_list]
return cleaned_list
create_table_parts = cleanlist(create_table_parts, "(SET).+?(\n)", "\n")
create_table_parts = cleanlist(create_table_parts, "(__|\(__).*?\n|(^\)|(?<=\n)(\n))", "")
create_table_parts = cleanlist(create_table_parts, "\"", "")
create_table_parts = cleanlist(create_table_parts, "(?<=CREATE\sTABLE\s).+?(\.)", "")
create_table_parts = cleanlist(create_table_parts, "(PRIMARY\sKEY\s).+?(\n)|(FOREIGN\sKEY\s).+?(\n)|", "")
create_table_parts = cleanlist(create_table_parts, "(CREATE_INDEX\s).+?(\n)", "")