You can say "x = 1 if expr else 2", but you cannot say "x = 1 if expr". You do a two line
if expr:
x = 1
You cannot say "x = 1 if expr else return".[1] is a list with one item, 1.
{1} is a set with one item, 1.
(1) is a number, 1, with pointless parenthesis. Perhaps you mean (1,), a tuple containing only one value.
Or how about mutable default values in function paramters? That makes a lot of sense...
I don't need to keep offering examples. You can search the internet and find many places where people list the warts, inconsistencies, and misfeatures of Python.