我有一個名爲sorted_lists
寫作列表文件只有10倍,蟒蛇
我用這把它們寫到一個txt文件列表的列表。現在的事情是,下面的這一行打印所有列表。我試圖弄清楚如何僅打印前n(n =任意數字),例如前10個列表。
f.write ("\n".join("\t".join (row) for row in sorted_lists)+"\n")
我有一個名爲sorted_lists
寫作列表文件只有10倍,蟒蛇
我用這把它們寫到一個txt文件列表的列表。現在的事情是,下面的這一行打印所有列表。我試圖弄清楚如何僅打印前n(n =任意數字),例如前10個列表。
f.write ("\n".join("\t".join (row) for row in sorted_lists)+"\n")
f.write ('\n'.join('\t'.join(row) for row in sorted_lists[:n+1])+'\n')
其中n
是列表的數目。
嘗試以下操作:
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)開始。他們是一樣的,後者可能被認爲更優雅。
您應該閱讀python slicing features。
如果你只想看看sorted_lists
的前10位,你可以做sorted_lists[0:10]
。
爲什麼不簡化此代碼,並使用正確的工具:
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)