Question: I found, that there is related question, about how to find if at least one item exists in a list:  

[How to check if one of the following items is in a list?](https://stackoverflow.com/questions/740287/python-check-if-one-of-the-following-items-is-in-a-list)

But what is the best and pythonic way to find whether all items exists in a list?

Searching through the docs I found this solution:

```
>>> l = ['a', 'b', 'c']
>>> set(['a', 'b']) <= set(l)
True
>>> set(['a', 'x']) <= set(l)
False

```

Other solution would be this:

```
>>> l = ['a', 'b', 'c']
>>> all(x in l for x in ['a', 'b'])
True
>>> all(x in l for x in ['a', 'x'])
False

```

But here you must do more typing.

Is there any other solutions?

Answer: 
I would probably use [`set`](http://rgruet.free.fr/PQR26/PQR2.6.html#Sets) in the following manner : 

```
set(l).issuperset(set(['a','b'])) 

```

or the other way round : 

```
set(['a','b']).issubset(set(l)) 

```

I find it a bit more readable, but it may be over-kill. Sets are particularly useful to compute union/intersection/differences between collections, but it may not be the best option in this situation ...
This was what I was searching for online. However unfortunately did not find online, but while experimenting on python interpreter.

```
>>> case  = "caseCamel"
>>> label = "Case Camel"
>>> list  = ["apple", "banana"]
>>>
>>> (case or label) in list
False
>>> list = ["apple", "caseCamel"]
>>> (case or label) in list
True
>>> (case and label) in list
False
>>> list = ["case", "caseCamel", "Case Camel"]
>>> (case and label) in list
True
>>>

```

and if you have a looong list of variables held in a `sublist variable`

```
>>>
>>> list  = ["case", "caseCamel", "Case Camel"]
>>> label = "Case Camel"
>>> case  = "caseCamel"
>>>
>>> sublist = ["unique banana", "very unique banana"]
>>>
>>> # example for if any (at least one) item contained in superset (or statement)
...
>>> next((True for item in sublist if next((True for x in list if x == item), False)), False)
False
>>>
>>> sublist[0] = label
>>>
>>> next((True for item in sublist if next((True for x in list if x == item), False)), False)
True
>>>
>>> # example for whether a subset (all items) contained in superset (and statement)
...
>>> # a bit of demorgan's law
...
>>> next((False for item in sublist if item not in list), True)
False
>>>
>>> sublist[1] = case
>>>
>>> next((False for item in sublist if item not in list), True)
True
>>>
>>> next((True for item in sublist if next((True for x in list if x == item), False)), False)
True
>>>
>>>

```