【发布时间】:2013-08-04 19:41:45
【问题描述】:
我是 python 初学者,但遇到了问题。我尝试从列表中获取前 10.000 个项目,但它返回了错误的数据。我注意到,因为我首先尝试获取前 10/20/50 个项目(我将结果打印在 .txt 中),但我什么也没得到。这是部分代码。
/*for key in docs:
T_buffer=docs[key]['tf'].items()
keyset.append(T_buffer)
*/
keyseta = list(itertools.chain(*keyset))
keyseta.sort(key=lambda z: z[1], reverse=True)
keyset=keyseta[:8000]
/*
#t0=time.time() #timer ON
#for infile in docs: #upologismos idf kai tf_idf
# for word in docs[infile]['tf']:
# docs[infile]['idf'][word]= idf(word,voc)
# docs[infile]['tf_idf'][word]= docs[infile]['idf'][word] * docs[infile]['tf'][word]
#print time.time()-t0, "seconds"
*/
loglista1 = open("log1.txt",'w')
print >>loglista1, keyset
列表包含如下数据:
[('uwm', 0.034482758620689655),
('s', 0.034482758620689655),
('the', 0.034482758620689655),
('have', 0.034482758620689655)...]
【问题讨论】:
-
loglista1.close()在哪里? -
dangg.... thnx !!!我忘记关闭文件了。
-
最好使用
with语句和file.write将内容写入文件。print >>在 py3.x 中不起作用。 -
如果您需要在写入文件数据时对其进行检查,您还可以通过调用
loglista1.flush()来刷新缓冲区。 -
@find-missing-semicolon List 是一个有序的项目集合,您将列表与集合混淆了。