0

私はというリストのリストを持っていますsorted_lists

私はこれを使ってそれらをtxtファイルに書き込みます。さて、下のこの行はすべてのリストを印刷します。最初のn個(n =任意の数)、たとえば最初の10個のリストだけを印刷する方法を理解しようとしています。

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

4 に答える 4

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)から開始することを暗黙的に意味するように書くこともできます。それらは同じです、後者はよりエレガントであると考えられるかもしれません。

于 2012-12-16T23:50:02.140 に答える
1

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

ここnで、はリストの数です。

于 2012-12-16T23:49:02.107 に答える
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)
于 2012-12-16T23:53:15.087 に答える
0

Pythonのスライス機能について読む必要があります。

の最初の10個だけを見たい場合はsorted_lists、を行うことができますsorted_lists[0:10]

于 2012-12-16T23:51:44.697 に答える