Please consider this snippet:
>>> i = ["", 1, 2]
>>> all([x for x in i])
all([x for x in i if not isinstance(x, str)])
The only falsy string is the empty string, so if you don't want to test for it, then filter out the strings.