从一个接一个出现的列表中删除一个单词

时间:2017-10-21 06:10:08

标签: list set python-3.6

假设我有一个单词列表,如下所示,

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的要求?

此外,我想避免设置,因为我需要保留订单。

2 个答案:

答案 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)))