Text:
Jede Zeile enthält nach der Heraufstufung einige Zahlen. Wenn diese Zahlen gleich sind, wird sie als dieselbe Zeile betrachtet. Es wird nur eine Zeile beibehalten.
Dinge:
Schnitt basierend auf Wörterbuch und Zeichenfolge.
Erstellen Sie ein leeres Wörterbuch.
Lesen Sie den Text und schneiden Sie die erste Hälfte jeder Zeile aus. Während des Lesens durchläuft der Text das Wörterbuch, um zu suchen. Wenn er nicht gefunden wird, schreiben Sie die Zeile in das Wörterbuch. Andernfalls bedeutet dies, dass die Zeile in das Wörterbuch geschrieben wurde (d. h. es ist eine doppelte Zeile aufgetreten) und nicht mehr in das Wörterbuch geschrieben wird. Dadurch wird der Zweck erreicht, nur eine Zeile für doppelte Zeilen beizubehalten.
Der Text lautet wie folgt:
/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
Der Ablauf ist wie folgt:
line_dict_uniq = dict() with open('1.txt','r') as fd: for line in fd: key = line.split(' ')[0] if key not in line_dict_uniq.values(): line_dict_uniq[key] = line else: continue print line_dict_uniq print len(line_dict_uniq) # 这里是打印了不重复的行(重复的只打印一次),实际再把这个结果写入文件就可以了, # 就不写这段写入文件的代码了
Die Ausführungseffizienz des oben genannten Programms ist relativ gering. Eine Änderung wie folgt verbessert sie:
line_dict_uniq = dict() with open('1.txt','r') as fd: for line in fd: key = line.split(' ')[0] if key not in line_dict_uniq.keys(): line_dict_uniq[key] = line else: continue print line_dict_uniq print len(line_dict_uniq)
Das Obige ist das Python, das Ihnen der Editor zum zeilenweisen Deduplizieren von Text vorstellt. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der Script House-Website bedanken!