У меня есть список, который я хотел бы проверить, какие типы данных в нем, независимо от того, сколько уровней в списке. Сначала я подумал сделать это:
all([isinstance(x, (int, float, str, bytes, list, tuple, set, dict)) for x in l])
Но, похоже, это не работает:
>>> l = [1, 2, 3, 4, [bytearray(b'1234')]]
>>> all([isinstance(x, (int, float, str, bytes, list, tuple, set, dict)) for x in l])
True
Есть ли другой способ сделать это? Тот, который работает?