擅长:python、mysql、java
<p>我这样做的方法是使用以下函数:</p>
<pre><code>def getDeepTypes(items):
types = [type(x) for x in items]
return (types[0] if all(x == types[0] for x in types) else None)
</code></pre>
<p>它使用各种列表理解来获得列表的深层类型。如果它们不完全相同,则返回<code>None</code>。你知道吗</p>
<pre><code>>>> getDeepTypes([1, 2, 3])
int
>>> getDeepTypes(["foo", "bar"])
str
>>> print(getDeepTypes([1, "foo"]))
None
</code></pre>
<p>所以你可以:</p>
<pre><code>getDeepTypes(['a', 'b']) == getDeepTypes([1, 2]) # False
getDeepTypes([42, 43]) == getDeepTypes([1, 2]) # True
</code></pre>