a = "" b = "second" print (1 and [a] or [b])[0] # Since [a] is a nonempty list, it is never false. Even if a is 0 or '', # or some other false value, the list [a] is true because it has one element.