Python: Check if one dictionary is a subset of another larger dictionary

前端 未结 16 696
轮回少年
轮回少年 2020-12-04 09:29

I\'m trying to write a custom filter method that takes an arbitrary number of kwargs and returns a list containing the elements of a database-like list that contain

16条回答
  •  孤街浪徒
    2020-12-04 10:08

    >>> d1 = {'a':'2', 'b':'3'}
    >>> d2 = {'a':'2', 'b':'3','c':'4'}
    >>> all((k in d2 and d2[k]==v) for k,v in d1.iteritems())
    True
    

    context:

    >>> d1 = {'a':'2', 'b':'3'}
    >>> d2 = {'a':'2', 'b':'3','c':'4'}
    >>> list(d1.iteritems())
    [('a', '2'), ('b', '3')]
    >>> [(k,v) for k,v in d1.iteritems()]
    [('a', '2'), ('b', '3')]
    >>> k,v = ('a','2')
    >>> k
    'a'
    >>> v
    '2'
    >>> k in d2
    True
    >>> d2[k]
    '2'
    >>> k in d2 and d2[k]==v
    True
    >>> [(k in d2 and d2[k]==v) for k,v in d1.iteritems()]
    [True, True]
    >>> ((k in d2 and d2[k]==v) for k,v in d1.iteritems())
     at 0x02A9D2B0>
    >>> ((k in d2 and d2[k]==v) for k,v in d1.iteritems()).next()
    True
    >>> all((k in d2 and d2[k]==v) for k,v in d1.iteritems())
    True
    >>>
    

提交回复
热议问题