擅长:python、mysql、java
<p>您不想使用<code>list.extend()</code>,句点。如果要将列表显示(文字语法)与另一个列表连接起来,请使用<code>+</code>:</p>
<pre><code>myTuple = tuple([1, 2, 3] + anotherList)
</code></pre>
<p>或者您可以只转换<code>anotherList</code>并为元组添加前缀:</p>
<pre><code>myTuple = (1, 2, 3) + tuple(anotherList)
</code></pre>
<p>在这里,Python编译器可以优化<code>(1, 2, 3)</code>并将其作为常量存储在代码对象中。初始元组只创建一次,并在所有执行中重用。你知道吗</p>
<p><code>list.extend()</code>旨在通过对现有列表对象的引用来就地更新该列表对象,但是在列表文本上使用它意味着生成的扩展列表没有剩余的引用,并且会再次被丢弃。你知道吗</p>
<p>在Python3.5及更高版本中,还可以使用<a href="https://docs.python.org/3/whatsnew/3.5.html#pep-448-additional-unpacking-generalizations" rel="nofollow noreferrer">new iterable unpacking syntax</a>:</p>
<pre><code>myTuple = (1, 2, 3, *anotherlist)
</code></pre>
<p>注意这里不需要<code>tuple()</code>调用,并且支持<em>任何</em>iterable类型(不仅仅是列表)。Python2.7已经到了它的最后一天,您需要开始计划离开它。你知道吗</p>