Ich habe eine Funktion, die ein Argument akzeptiert, das entweder ein einzelnes oder ein doppeltes Element sein kann:
def iterable(arg)
if #arg is an iterable:
print "yes"
else:
print "no"
damit:
>>> iterable (("f", "f"))
Ja
>>> iterierbar (["f", "f"])
Ja
>>> iterable ("ff")
Nein
Das Problem ist, dass die Zeichenfolge technisch iterierbar ist, sodass ich den ValueError beim Versuch nicht einfach abfangen kann arg[1]. Ich möchte isinstance () nicht verwenden, da dies keine gute Praxis ist (oder wie mir gesagt wurde).