Question: When using the interpreter, the expression `'a' in ('abc')` returns True, while `'a' in ['abc']` returns False. Can somebody explain this behaviour?

Answer: 
`('abc')` is the same as `'abc'`. `'abc'` contains the substring `'a'`, hence `'a' in 'abc' == True`.

If you want the tuple instead, you need to write `('abc', )`.

`['abc']` is a list (containing a single element, the string `'abc'`). `'a'` is not a member of this list, so `'a' in ['abc'] == False`
As others has mentioned, `('abc')` is not a tuple. `'a'` is not a element of `['abc']`. The only element in that list is `'abc'`

```
x='abc' in ['abc']

print (x)

True #This will evaluate to true

```

This will also evaluate to true:

```
y = 'a' in ['a','b','c']

print (y)

True

```