how to tell a variable is iterable but not a string
<p>I have a function that take an argument which can be either a single item or a double item:</p>

<pre><code>def iterable(arg)
    if #arg is an iterable:
        print "yes"
    else:
        print "no"
</code></pre>

<p>so that:</p>

<pre>
>>> iterable( ("f","f") )
yes

>>> iterable( ["f","f"] )
yes

>>> iterable("ff")
no
</pre>

<p>The problem is that string is technically iterable, so I can't just catch the ValueError when trying <code>arg[1]</code>. I don't want to use isinstance(), because that's not good practice (or so I'm told).</p>
