所以我在朋友的帮助下创建了以下代码(用于解压文件):
wordsFile = open('wordsFile.txt', 'r')
words = wordsFile.read()
words = words.split()
positionFile = open('positionFile.txt', 'r')
position = positionFile.read()
position = position.split()
position = [int(i) for i in position]
FinalSentence = []
for x in position:
FinalSentence.append(words[x-1])
print(' '.join(FinalSentence))
但是我不明白FinalSentence.append(words[x-1])
行是如何将位置和单词解压回一个句子的。如果有人能以最简单的方式解释,因为我对这一点非常陌生,那就太好了:)
这两个数组包含“positionFile”中每个空格分隔的数字
这三个从列表中获取每个值,并将“wordsFile”中相应的单词添加到单词列表中。(正如@purpleladydragons所说,
-1
转换为基于0的索引)。你知道吗这将单词连接成一个用空格分隔的字符串,并将其打印到屏幕上。你知道吗
在没有看到文件的情况下,我只能假设它执行以下操作(显然是最简单的形式,因为我看不到下面代码的真实场景)
positions变量是一个整数数组。你知道吗
它循环遍历整数数组,并将值减1以获得单词的数组索引。你知道吗
例如:
然后它在位置数组中循环。你知道吗
当它在各个位置循环时。你知道吗
它很可能减1,因为数组索引从0开始。你知道吗
然后您将拥有:
然后加入到
很难确定,因为我们没有访问文件的权限,但是我假设positions表示单词位置的1索引,但是单词是一个0索引数组,因为在python中数组就是这样工作的。所以你看到的是x-1而不是x
所以如果你的文字文件看起来像
你的位置文件看起来像
然后你将按顺序加上这个,是,一个,句。你知道吗
相关问题 更多 >
编程相关推荐