我有各种各样的逻辑错误,我似乎无法挑选出来。这是我所拥有的:
Document = 'Sample1'
locationslist = []
thedictionary = []
userword = ['the', 'a']
filename = 'Sample1'
for inneritem in userword:
thedictionary.append((inneritem,locationslist))
for position, item in enumerate(file_contents):
if item == inneritem:
locationslist.append(position)
wordlist = (thedictionary, Document)
print wordlist
所以基本上我试图从一个较小的列表(locationslist)与特定的用户词一起创建一个更大的列表(字典)。我几乎拥有它,除了输出将所有单词的所有位置(其中只有 2 个 -'the'
和'a'
)放在每个列表中。似乎有一个简单的逻辑问题 - 但我似乎无法发现它。输出是:
([('the', [5, 28, 41, 97, 107, 113, 120, 138, 141, 161, 2, 49, 57, 131, 167, 189, 194, 207, 215, 224]),
('a', [5, 28, 41, 97, 107, 113, 120, 138, 141, 161, 2, 49, 57, 131, 167, 189, 194, 207, 215, 224])],
'Sample1')
但应该是:
([('the', [5, 28, 41, 97, 107, 113, 120, 138, 141, 161]),
('a', [2, 49, 57, 131, 167, 189, 194, 207, 215, 224])],
'Sample1')
看看这两个位置列表是如何被附加到每个关于每个用户词'the'
和的有问题的输出中的'a'
?我可以就我在这里做错的事情提出建议..