私はというリストのリストを持っていますsorted_lists
私はこれを使ってそれらを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[0:N])+"\n")
ここで、は印刷N
する最初のリストの番号です。N
sorted_lists[0:N]
最初のリストをキャッチしN
ます(0からN-1までカウントし、N個のリストがあります。list[N]
除外されます)。sorted_lists[:N]
リストの最初の項目(項目0)から開始することを暗黙的に意味するように書くこともできます。それらは同じです、後者はよりエレガントであると考えられるかもしれません。
f.write ('\n'.join('\t'.join(row) for row in sorted_lists[:n+1])+'\n')
ここn
で、はリストの数です。
このコードを単純化して、適切なツールを使用してみませんか。
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)
Pythonのスライス機能について読む必要があります。
の最初の10個だけを見たい場合はsorted_lists
、を行うことができますsorted_lists[0:10]
。