擅长:python、mysql、java
<p>这将类似于你的两条单行线:</p>
<pre><code># fword.write(' '.join([chr(c-13+97) if c-13+97>96 else chr(c-3+48) for c in ground_valid])+'\n')
lst = []
for c in ground_valid:
if c-13+97>96:
lst.append(chr(c-13+97))
else:
lst.append(chr(c-3+48))
fword.write(' '.join(lst)+'\n')
</code></pre>
<p>以及</p>
<pre><code># fword.write(' '.join([chr(c-13+97) if c-13+97>96 else chr(c-3+48) for c in output_valid]))
lst = []
for c in output_valid:
if c-13+97>96:
lst.append(chr(c-13+97))
else:
lst.append(chr(c-3+48))
fword.write(' '.join(lst))
</code></pre>
<p>你现在更欣赏他们了吗?你知道吗</p>
<hr/>
<p>另一种更紧凑(更易读)的单行程序版本如下:</p>
<pre><code>choises = {True: -13+97, False: -3+48}
fword.write(' '.join([chr(c + choises[c-13+97>96]) for c in ground_valid])+'\n')
fword.write(' '.join([chr(c + choises[c-13+97>96]) for c in output_valid]))
</code></pre>
<p><em>拥有一个没有<code>elif</code>的<code>if-else</code>块会让你怀疑字典是否更好。</em></p>