将列表写入文件只有10次,python

时间:2012-12-16 23:44:57

标签: python file list

我有一个名为sorted_lists

的列表列表

我正在使用它将它们写入txt文件。现在的问题是,下面这一行打印所有列表。我想弄清楚如何只打印前n个(n =任意数字),例如前10个列表。

f.write ("\n".join("\t".join (row) for row in sorted_lists)+"\n")

4 个答案:

答案 0 :(得分:2)

尝试以下方法:

f.write ("\n".join("\t".join (row) for row in sorted_lists[0:N])+"\n")

其中N是您要打印的第一个N列表的编号。

sorted_lists[0:N]将捕获第一个N列表(从0到N-1计数,有N个列表;不包括list[N])。您也可以编写sorted_lists[:N]隐含意味着它将从列表的第一项(项目0)开始。它们是相同的,后者可能被认为更优雅。

答案 1 :(得分:1)

f.write ('\n'.join('\t'.join(row) for row in sorted_lists[:n+1])+'\n')

其中n是列表数。

答案 2 :(得分:1)

为什么不简化此代码并使用正确的工具:

from itertools import islice
import csv

first10 = islice(sorted_lists, 10)
with open('output.tab', 'wb') as fout:
    tabout = csv.writer(fout, delimiter='\t')
    tabout.writerows(first10)

答案 3 :(得分:0)

您应该阅读python slicing features

如果您只想查看sorted_lists的前10个内容,可以sorted_lists[0:10]