擅长:python、mysql、java
<p>我将使用生成器表达式和<code>all</code>:</p>
<pre><code>>>> it = iter(lists)
>>> the_len = len(next(it))
>>> if not all(len(l) == the_len for l in it):
... raise ValueError('not all lists have same length!')
</code></pre>
<p>这样可以避免两次检查第一个列表的长度,并且不会构建一次性的list/set数据结构。在</p>
<p><code>all</code>也延迟求值,这意味着一旦生成器生成第一个长度不同的列表,它将停止并返回<code>False</code>。在</p>