擅长:python、mysql、java
<p>如果您的<code>DICTIONARY</code>不是太大(即可以容纳您的内存):</p>
<pre><code>N = [19,85,45,14]
with open("DICTIONARY", "r") as f:
words = f.readlines()
my_sentence = " ".join([words[i].strip() for i in N])
</code></pre>
<p><strong>编辑:</strong>一个小的澄清,原来的帖子没有用空格来连接单词,我已经修改了代码来包含它。如果需要用逗号或任何其他可能需要的分隔符分隔单词,也可以使用<code>",".join(...)</code>。另外,请记住,此代码使用基于零的行索引,因此<code>DICTIONARY</code>的第一行是0,第二行是1,依此类推</p>
<p><strong>更新:</strong>:如果你的字典对于你的内存来说太大了,或者你只是想消耗尽可能少的内存(如果是这样的话,你为什么首先选择Python呢?;))您只能“提取”您感兴趣的单词:</p>
<pre><code>N = [19, 85, 45, 14]
words = {}
word_indexes = set(N)
counter = 0
with open("DICTIONARY", "r") as f:
for line in f:
if counter in word_indexes:
words[counter] = line.strip()
counter += 1
my_sentence = " ".join([words[i] for i in N])
</code></pre>