擅长:python、mysql、java
<p>既然你没说你想处理大写字母,这里有一个简单的答案:</p>
<pre><code>>>> ''.join(chr(122 - ord(c) + 97) for c in 'abcd')
'zyxw'
</code></pre>
<p>其中122是<code>ord('z')</code>,97是<code>ord('a')</code>。<code>ord</code>函数将字符转换为其Unicode码位,<code>chr</code>函数则相反。在</p>
<p>如果您愿意,可以跳过非小写字符:</p>
^{pr2}$
<p>如果要按照相同的模型处理大写:</p>
<pre><code>>>> def inv(c):
... if 'a' <= c <= 'z':
... return chr(122 - ord(c) + 97)
... if 'A' <= c <= 'Z':
... return chr(90 - ord(c) + 65)
... return c
...
>>> ''.join(inv(c) for c in 'Hello world!')
'Svool dliow!'
</code></pre>