当my_file
中的一个句子以一个单词后跟一个数字开头时,例如" City1",和,my_file
中有另一个句子以" City2"开头,以下代码仅返回第一句话:
description = re.findall("\n"+i+"[\s\,\d\(].*\.\n", my_file) #i equals 'City'
if description:
for d in description:
d = d.replace('\n', ' ')
bufferlist.append(d)
bufferlist[:] = unique( bufferlist ) #unique is a function removing duplicates from a list while keeping its order
my_string = ' '.join(bufferlist)
del bufferlist[:]
else:
my_string = '0'
为什么我无法同时获得my_string
中的第一句和第二句?
修改
问题或部分问题是del bufferlist[:]
。这阻止了在每次迭代中所需的匹配堆积。循环后必须删除bufferlist
。