In Python, and or evaluates to its first True operand (since True or'd with anything is True, Python doesn't need to look further than the first operand).
So:
"aa" or "bb" or "cc" or "dd" or "ee" or "ff" in attrs["show"]
... evaluates to:
"aa"
Which is True, because it's a non-empty string. The rest of the line is not even considered because it does not need to be.
So your if statement always executes because it is always True.
What you want is something like:
"aa" in attrs["show"] or "bb" in attrs["show"] or "cc" in attrs["show"] ...
This gets very wordy, so you can use any along with a generator expression to write it more succinctly.
any(s in attrs["show"] for s in ["aa", "bb", "cc", "dd", "ee", "ff"])