簡體   English   中英

帶有簡單摘要輸出的差異檢查

[英]Diff Check With Simple Summary Output

我是 Python 新手,想編寫一個差異檢查程序,該程序對兩個輸入列表(來自文件)執行基本差異檢查,然后以摘要形式輸出差異。

例如,一些匯總統計數據將是:

  1. 包含在 A 中但不在 B 中的內容的列表
  2. 一個包含在 B 中但不在 A 中的列表
  3. 每個列表中的重復數

這將主要用於在網絡上進行資產發現協調,因此列表將充滿 IP 或主機名。 我的主要要求是幫助開始這樣做。

如果已經有人問過這個問題,我深表歉意,但我在這里找不到我特別想做的事情。

謝謝!

對於前兩個,您可以進行設置比較:

>>> A = ['a', 'b', 'c', 'd', 'a']
>>> B = ['q', 'r', 'b', 'b', 'c']
>>> sorted(set(A) - set(B))
['a', 'd']

>>> sorted(set(B) - set(A))
['q', 'r']

對於第三個,您可以使用collections庫中的Counter ,它創建一個字典,計算迭代中每個項目的出現次數:

>>> from collections import Counter
>>> {k: v for k, v in Counter(A).items() if v > 1}
{'a': 2}

>>> {k: v for k, v in Counter(B).items() if v > 1}
{'b': 2}

對於“隨着時間的推移變得相關的任何其他事物”-您必須更具體!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM