擅长:python、mysql、java
<p>不需要<code>flipIt</code>函数,因为Python有一种内置的方法来实现这一点。您只需更换:</p>
<pre><code>flipIt(pic)
</code></pre>
<p>与:</p>
<pre><code>pic.reverse()
</code></pre>
<p>(如果您想在其中增加一个抽象层,或者因为赋值要求您有一个专门称为<code>flipIt</code>的函数,您也可以执行类似<code>flipIt = lambda img: img.reverse()</code>的操作。)</p>
<p><code>list.reverse()</code>方法对任何列表进行操作,并对其元素进行就地反转。由于<code>pic</code>是图像中的行列表,因此颠倒顺序会产生垂直翻转的效果</p>
<p>您还可以通过使用<code>str.join()</code>将每一行转换为单个字符串来简化<code>print</code>循环</p>
<pre><code>>>> pic = [['@', ' ', ' ', ' ', ' ', '@'],
... ['@', '@', ' ', ' ', ' ', '@'],
... ['@', ' ', '@', ' ', ' ', '@'],
... ['@', ' ', ' ', '@', ' ', '@'],
... ['@', ' ', ' ', ' ', '@', '@'],
... ['@', ' ', ' ', ' ', ' ', '@']]
>>> pic.reverse() # flip the rows from top to bottom
>>> for row in pic:
... print(' '.join(row))
...
@ @
@ @ @
@ @ @
@ @ @
@ @ @
@ @
</code></pre>