擅长:python、mysql、java
<p>类型检查将是一个很好的方法来实现这一点。否则,如何确定输入是列表还是字符串?。你知道吗</p>
<p>您可以创建一个函数来测试输入是一个列表还是一个字符串,并适当地返回和处理其余的内容。类似于</p>
<pre><code>>>> def convert_to_tuple(elem):
if isinstance(elem, list):
return tuple(elem)
elif isinstance(elem, basestring):
return (elem,)
else:
# Do Something
pass
>>> convert_to_tuple('abc')
('abc',)
>>> convert_to_tuple(['abc', 'def'])
('abc', 'def')
</code></pre>
<p>您也只能检查字符串(假设python2.x,将Py3中的<code>basestring</code>替换为<code>str</code>)</p>
<pre><code>>>> def convert_to_tuple(elem):
if isinstance(elem, basestring):
return (elem,)
else:
return tuple(elem)
>>> convert_to_tuple('abc')
('abc',)
>>> convert_to_tuple(('abc', 'def'))
('abc', 'def')
>>> convert_to_tuple(['abc', 'def'])
('abc', 'def')
</code></pre>
<p>也可以将函数转换为一个线性函数。你知道吗</p>
<pre><code>>>> def convert_to_tuple(elem):
return (elem,) if isinstance(elem, basestring) else tuple(elem)
</code></pre>