我有一个包含以下值的文件:
162.0000
162.2000
162.4000
162.6000
162.8000
162.0000
162.2000
162.4000
162.6000
162.8000
但我只想打印这些值:
162.0000
162.2000
162.4000
162.6000
162.8000
这是我目前的代码:
pattern=re.compile(r'(1[6][2]\.[0-9][0]+)')
if pattern.search(line):
print line
有没有办法只显示每个数字的第一次出现?谢谢!
答案 0 :(得分:2)
仅靠正则表达式无法解决问题,请使用set
跟踪您已经看到的内容:
pattern=re.compile(r'(1[6][2]\.[0-9][0]+)')
seen = set()
if pattern.search(line):
if line not in seen:
seen.add(line)
print line