我在查找重复项并仅打印这些重复项时遇到问题。我有一个文本文件,我打开并尝试查找重复项并打印它们。我所拥有的是:一个名为 data1.txt 的文件,该文件包含一些行:G1/0/1 fc:3f:db:8d:fd:6cG1/0/1 38:63:bb:bb:f8:7dG1/0/2 30:e1:71:7a:27:3bG1/0/3 40:a8:f0:53:6f:31我怎样才能制作一个只能在第一个世界上找到重复项的脚本并像这样打印输出:G1/0/1 fc:3f:db:8d:fd:6cG1/0/1 38:63:bb:bb:f8:7d我不需要看到其他单行。
2 回答

慕慕森
TA贡献1856条经验 获得超17个赞
使用 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']
添加回答
举报
0/150
提交
取消