文本:
每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行。
思路:
根据字典和字符串切割。
建立一个空字典。
读入文本,并对每行切割前半部分,在读入文本的过程中循环在这个字典中查找,如果没找到,则写入该行到字典。否则,则表示该行已经被写入过字典了(即出现重复的行了),不再写入字典,这就实现了对于重复的行只保留一行的目的。
文本如下:
1
2
3
4
5
6
7
8
9
10
|
/promotion/232, utm_source
/promotion/237 , LandingPage/borrowExtend/? ;
/promotion/25113, LandingPage/mhd
/promotion/25113, LandingPage/mhd
/promotion/25199, com/LandingPage
/promotion/254 , LandingPage/mhd/mhd4/? ;
/promotion/259 , LandingPage/ydy/? ;
/promotion/25113, LandingPage/mhd
/promotion/25199 ,com/LandingPage
/promotion/25199, com/LandingPage
|
程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 这里是打印了不重复的行(重复的只打印一次),实际再把这个结果写入文件就可以了,
# 就不写这段写入文件的代码了
|
1,X.lab中的文件内容如下:
hello,world
ni,hao
bu,hao
hai,hai
no,no
排序后的内容如下:
bu,hao
hai,hai
hello,world
ni,hao
no,no
基本思想:先将文件内容读取到列表中,在列表中进行排序,再从列表中将排好序的元素写进该文件中