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: 
Operators like `<=` in Python are generally not overriden to mean something significantly different than "less than or equal to". It's unusual for the standard library does this--it smells like legacy API to me.

Use the equivalent and more clearly-named method, `set.issubset`. Note that you don't need to convert the argument to a set; it'll do that for you if needed.

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

```
Not OP's case, but - for anyone who wants to assert intersection in *dicts* and ended up here due to poor googling (e.g. me) - you need to work with `dict.items`:

```py
>>> a = {'key': 'value'}
>>> b = {'key': 'value', 'extra_key': 'extra_value'}
>>> all(item in a.items() for item in b.items())
True
>>> all(item in b.items() for item in a.items())
False

```

That's because `dict.items` returns tuples of key/value pairs, and much like any object in Python, they're interchangeably comparable