testing if a list contains a sublist
steve+comp.lang.python at pearwood.info
Tue Aug 16 10:37:21 CEST 2011
On Tue, 16 Aug 2011 04:14 pm ChasBrown wrote:
> On Aug 15, 4:26 pm, Johannes <dajo.m... at web.de> wrote:
>> hi list,
>> what is the best way to check if a given list (lets call it l1) is
>> totally contained in a second list (l2)?
>> for example:
>> l1 = [1,2], l2 = [1,2,3,4,5] -> l1 is contained in l2
>> l1 = [1,2,2,], l2 = [1,2,3,4,5] -> l1 is not contained in l2
>> l1 = [1,2,3], l2 = [1,3,5,7] -> l1 is not contained in l2
>> my problem is the second example, which makes it impossible to work with
>> sets insteads of lists. But something like set.issubset for lists would
>> be nice.
>> greatz Johannes
> My best guess:
> from collections import Counter
There's no reason to think that the Original Poster wants a multiset based
solution. He asked about lists and sublists. That's a standard term, like
"12" is a substring of "01234".
"21" and "13" are not.
[1, 2] is a sublist of [0, 1, 2, 3, 4].
[2, 1] and [1, 3] are not.
Since lists are ordered, so are sublists.
If the OP does want a solution that ignores order, then he needs to describe
his problem better.
More information about the Python-list