擅长:python、mysql、java
<p><code>text.split()</code>在<em>所有</em>空格上拆分,删除换行符。首先在换行符(<code>'\n'</code>)上拆分,然后在剩余的空白处拆分。用逗号重新连接你在空白处的内容。用换行符和换行符重新连接拆分的内容。你知道吗</p>
<pre><code>result = '\n'.join(
', '.join(str(conversion[word]) for word in line.split() if word in conversion)
for line in text.split('\n'))
</code></pre>
<p>如果更改<code>conversion</code>的定义,可以将<code>str(conversion[word])</code>更改为<code>conversion[word]</code>:</p>
<pre><code># replaced int(v) with v.strip()
conversion = {k: v.strip() for line in dict_file.split('\n') for (k,v) in (line.split('='),)}
</code></pre>
<p>我更喜欢这样的定义:</p>
<pre><code>conversion = dict(line.strip().split('=') for line in dict_file.split('\n'))
</code></pre>
<p>以下是一个不同的变体,它以不同的方式处理缺少的值:</p>
<pre><code>result = '\n'.join(
', '.join(conversion.get(word, ' ') for word in line.split())
for line in text.split('\n'))
</code></pre>
<p><code>print(result)</code>给出</p>
<pre><code>43, 70, 90, 12, , , 98
43, 70, , 88, , , 67
80, 100, 21, 67
</code></pre>