Python 具有简单摘要输出的差异检查

Python 具有简单摘要输出的差异检查,python,list,compare,diff,Python,List,Compare,Diff,我是Python新手,希望编写一个diff-check程序,对两个输入列表(来自文件)执行基本的diff-check,然后以摘要形式输出差异 例如,一些汇总统计数据将是: A中包含但不包含B的内容的列表 B中的内容列表,但不是A 每个列表中的副本数 这将主要用于在网络上进行资产发现对账,因此列表中将充满IP或主机名。我的主要要求是帮助我开始做这件事 如果已经有人问过我,我很抱歉,但是我在这里找不到我特别想要做的事情 谢谢大家! 对于前两个,您只需进行集合比较: >>> A =

我是Python新手,希望编写一个diff-check程序,对两个输入列表(来自文件)执行基本的diff-check,然后以摘要形式输出差异

例如,一些汇总统计数据将是:

  • A中包含但不包含B的内容的列表
  • B中的内容列表,但不是A
  • 每个列表中的副本数
  • 这将主要用于在网络上进行资产发现对账,因此列表中将充满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']
    
    对于第三种情况,您可以使用
    集合
    库中的
    计数器
    ,它创建一个字典,计算iterable中每个项目的出现次数:

    >>> 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}
    

    对于“随着时间的推移变得相关的任何其他事情”,你必须更加具体

    谢谢大家!!忘了第四条吧,它只是我自己的一个地方Hi Joseph,欢迎来到StackOverflow!你能包括到目前为止你已经尝试过的吗?