删除重复行而不保留一个

时间:2017-08-04 14:40:49

标签: python text

如何在不保留重复行的情况下删除重复行:

  

布拉布拉
  土豆
  布拉布拉

为:

  

马铃薯

2 个答案:

答案 0 :(得分:0)

在Python中,您可以使用collections.Counter计算线条出现的频率,然后过滤仅出现一次的线条。

>>> lines="""blabla
... potato
... blabla""".splitlines()
>>> counts = collections.Counter(lines)
>>> [line for line in lines if counts[line] == 1]
['potato']

这比使用lines.count每行更快,但除非行数非常高,否则这几乎不重要。

答案 1 :(得分:0)

你可以试试这个:

lines = ["blabla", "potato", "blabla"]

final_lines = [i for i in lines if lines.count(i) == 1]