<p>您需要随机性,所以让我们导入<code>random</code>库:</p>
<p><code>import random</code></p>
<p>然后我们需要知道我们的约束是什么。显然,我们可以选择的最早的句子1,或者索引为0的句子,但要知道最大值;我们需要计算句子的数量,然后减去1得到最后一个句子的索引</p>
<p><code>max_sentence = len(corpus.sents())-1</code></p>
<p>我们将创建一个空列表来存储我们的[伪]随机数:</p>
<p><code>list_of_random_indexes = []</code></p>
<p>然后在其中输入一些数字(本例中为50个):</p>
<pre><code>for i in range(50):
list_of_random_indexes.append(random.randint(0, max_sentence))
</code></pre>
<p>然后以最后一行的修改版本结束,该行现在引用我们的随机数列表,而不是范围:</p>
<p><code>corpus_sentences = [get_sentence_from_semcor(i) for i in list_of_random_indexes]</code></p>
<p>因此,总而言之:</p>
<pre><code>import random
max_sentence = len(corpus.sents())-1
list_of_random_indexes = []
for i in range(50):
list_of_random_indexes.append(random.randint(0, max_sentence))
corpus_sentences = [get_sentence_from_semcor(i) for i in list_of_random_indexes]
</code></pre>
<p>或者让它更干净一点:</p>
<pre><code>import random
max_sentence = len(corpus.sents())-1
list_of_random_indexes = [random.randint(0, max_sentence) for I in range(50)]
corpus_sentences = [get_sentence_from_semcor(i) for i in list_of_random_indexes]
</code></pre>
<p>但是,因为您可能不希望有重复的行,所以在添加索引之前,我还将检查它是否不在列表中</p>
<pre><code>import random
max_sentence = len(corpus.sents())-1
list_of_random_indexes = []
while len(list_of_random_indexes)<50:
test_index = random.randint(0, max_sentence)
if test_index not in list_of_random_indexes:
list_of_random_indexes.append(test_index)
corpus_sentences = [get_sentence_from_semcor(i) for i in list_of_random_indexes]
</code></pre>