if isinstance(x, str):
    return "It's a single string"
try:
    if all(isinstance(y, str) for y in x):
        return "It's a list of strings"
except TypeError:
    pass
return "It's not a list of strings or a single string"
data = [5, 'xyzzy', list('xyzzy'), ['1', '23', 456]]
for x in data:
    pass
Как проверить, является ли объект списком строк?