【发布时间】:2013-11-08 01:28:19
【问题描述】:
我正在尝试以 [[(the, cat), (cat, with), (with, fur)] [(the, dog), (dog, with), (with, ball).......etc] 来自一个文本文件,其中的句子如下:
有毛的猫\n 带球的狗\n
我遇到的问题是,当我逐字读取文件中的行,制作元组(变量标签)并创建最终列表(变量连接)时,有空的实例是连接变为 0。好吧,实际上不是 0,但列表显示为 [[]、[]、[]]
这是该部分程序的代码: with open('corpus.txt', 'r') as f:
with open('corpus.txt', 'r') as f:
for line in f:
cnt = 0
sa = nltk.word_tokenize(line)
label[:] = []
for i in sa:
words.append(i)
if cnt>0:
try: label +=[(prev , i)]
except: NameError
prev = i
cnt = cnt + 1
if label != []:
connection += [label]
print connection
我希望有人能理解我的问题,因为这让我发疯了,而且我的时间不多了。我只是想知道我在这里做错了什么,这样我就可以在每个循环中更新我的连接列表,而不会丢失我之前保存的内容。
感谢您的帮助
【问题讨论】:
-
可以肯定地说您有一个句子列表,其中每个句子都表示为一个单词列表,并且您想获得每个句子中的二元组列表吗?
-
没错,不知道二元组,是的,这更容易说出来:) PS:实际上我想要所有文件的二元组,但在“子列表”中分隔,例如 [[(a1, a2), (a2,a3)],[(b1,b2) ,(b2,b3)]