我在查找重复项时仅打印这些重复项时遇到问题。我有一个打开的文本文件,试图找到重复的文件并打印出来。
我所拥有的是:
一个名为data1.txt的文件,该文件包含以下行:
G1/0/1 fc:3f:db:8d:fd:6c
G1/0/1 38:63:bb:bb:f8:7d
G1/0/2 30:e1:71:7a:27:3b
G1/0/3 40:a8:f0:53:6f:31
我该如何制作一个仅在第一个世界中找到重复项的脚本并打印输出,如下所示:
G1/0/1 fc:3f:db:8d:fd:6c
G1/0/1 38:63:bb:bb:f8:7d
我不需要查看其他单行。
最佳答案
使用collections.defaultdict
例如:
from collections import defaultdict
res = defaultdict(list)
with open(filename) as infile:
for line in infile: #Iterate each line
val = line.strip().split() #Get first word
res[val[0]].append(line)
for k, v in res.items():
if len(v) > 1:
print(v)
输出:
['G1/0/1 fc:3f:db:8d:fd:6c\n', 'G1/0/1 38:63:bb:bb:f8:7d\n']
关于python - 查找重复的行python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52163823/