擅长:python、mysql、java
<p>下面介绍如何使用函数和传统的<code>for</code>循环对原始列表进行修改。你知道吗</p>
<p>要修改原始列表对象,我们可以使用片分配:<code>magic[:] = new_magic</code>。您不应该试图修改全局<code>magicians</code>列表,您需要使用传递给<code>make_great</code>函数的<code>magic</code>列表对象。你知道吗</p>
<pre><code>def make_great(magic):
""" add 'The great ' to a list of magicians"""
new_magic = []
for name in magic:
new_magic.append('The great ' + name)
magic[:] = new_magic
magicians = ['Houdini', 'Copperfield', 'Blaine']
make_great(magicians)
print(magicians)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>['The great Houdini', 'The great Copperfield', 'The great Blaine']
</code></pre>
<p>通过使用列表理解,我们可以使函数更加紧凑(并且效率略高)。你知道吗</p>
<pre><code>def make_great(magic):
""" add 'The great ' to a list of magicians"""
magic[:] = ['The great ' + name for name in magic]
</code></pre>