Tengo una función que toma un argumento que puede ser un solo elemento o un elemento doble:
def iterable(arg)
if #arg is an iterable:
print "yes"
else:
print "no"
así que eso:
>>> iterable (("f", "f"))
si
>>> iterable (["f", "f"])
si
>>> iterable ("ff")
No
El problema es que la cadena es técnicamente iterable, por lo que no puedo detectar el ValueError cuando lo intento arg[1]. No quiero usar isinstance (), porque esa no es una buena práctica (o eso me dijeron).