擅长:python、mysql、java
<p>您可以询问变量是否为<code>list</code>:</p>
<pre><code>def my_method(my_var):
if isinstance(my_var, list):
for my_elem in my_var:
# do stuff with my_elem
else: # my_var is not iterable
# do stuff with my_var
</code></pre>
<p><strong>编辑:</strong>另一个选项是尝试遍历它,如果失败(引发和异常),则假设是单个元素:</p>
<pre><code>def my_method(my_var):
try:
for my_elem in my_var:
# do stuff with my_elem
except TypeError: # my_var is not iterable
# do_stuff with my_var
</code></pre>
<p>第二个选项的好处是,它不仅可以作为第一个选项用于<code>list</code>s,还可以用于任何可iterable(<code>string</code>s、<code>set</code>s、<code>dict</code>s等)的对象</p>