假设我有一个单词列表,如下所示,
A=['ab','bc','cd','de','de','ef','bc']
我尝试使用如下所示的集,
def remove_similar_words(self,sent):
original_set = set()
result = []
for item in sent:
if item not in original_set:
original_set.add(item)
result.append(item)
return result
sent
是列表 A 。
上述方法的结果将是
result=['ab','bc','cd','de','ef']
但是,我需要结果,
needed_result=['ab','bc','cd','de','ef','bc']
问题:如何更改代码以满足生成列表needed_result
的要求?
此外,我想避免设置,因为我需要保留订单。
答案 0 :(得分:0)
看起来您只需要检查迭代器中的先前值,而不是构建完整的original_set。
答案 1 :(得分:0)
def remove_similar_words(sent):
last = ""
result = []
for item in sent:
if item != last:
last=item
result.append(item)
return result
A=['ab','bc','cd','de','de','ef','bc']
print (", ".join(remove_similar_words(A)))