<p>我想在Python 3中交换<code>string</code>的大小写:</p>
<p>以下代码起作用:</p>
<pre><code>print("".join([i.lower() if i.isupper() else i.upper() for i in s]))
</code></pre>
<p>但我的循环没有:</p>
<pre><code>s = 'Terra'
for i in s:
if i.isupper():
i.lower()
else:
i.upper()
print(s)
</code></pre>
<p>我的循环有什么问题?我知道列表理解就像是压缩的1行循环,我想这里的代码也差不多。我知道像<code>swapcase</code>函数这样的解决方案已经存在,但我正在这里训练一些逻辑</p>