我写了一个Python脚本来读取文件并找到一个模式,现在我想打印结果而没有重复。谢谢你的帮助。
这就是我所拥有的,但它打印出重复的行。
import re
session = open("edd.txt", "r")
regex = re.compile(r'policy \d+')
for line in session:
four_letter_words = regex.findall(line)
for word in four_letter_words:
print(word)
答案 0 :(得分:1)
为避免重复,您的算法必须记住它到目前为止看到的所有输出。一种方法是:
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Members Registration" && r.getColumn() == 7 && r.getValue() == "Not Found") {
var row = r.getLastRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("sheet18");
var target1 = targetSheet.getRange(targetSheet.getLastRow() + 1, 2);
var target2 = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 2, 1, 1).copyTo(target1);
s.getRange(row, 5, 1, 1).copyTo(target2);
}
}
答案 1 :(得分:0)
您也可以使用set
,这会为您删除重复项。
all_four_letter_words = set()
for line in session:
four_letter_words = regex.findall(line)
for word in four_letter_words:
all_four_letter_words.add(word)
然后您可以根据需要使用set
。虽然请记住set
是未排序的,所以当你遍历它们时,它们将不会保留它们的顺序。