压缩大文本文件

时间:2013-12-01 16:32:52

标签: python

我想在python中删除重复的字符串,只保留一个字符串。我提到了这个例子 Removing duplicated lines from a txt file

例如:输入
BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB EXTRA BITS

输出:
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB EXTRA BITS

但我应该在python中实现类似的代码,而不使用像sorted(),line.strip()和line.startswith()这样的内置函数。它应该使用read,write ans等基本功能。此外,除了字符串递增顺序外,输出还应显示行号。

1 个答案:

答案 0 :(得分:1)

我可能会这样实现:

  1. 创建一个字典来保存已找到的字符串。将该字典初始化为空。
  2. 遍历文件的每一行。检查该行是否在字典中。
  3. 如果该行在词典中,则不执行任何操作。
  4. 如果该行不在字典中,则将其输出,然后将其添加到字典中。
  5. 目前尚不清楚“增加订单”是什么意思。您的样本输出似乎没有以我能辨别的任何方式递增。