私は4列のデータを持つファイルを持っており、最初の列でソートされた最終出力ファイルを用意したいと思います。データファイル(rough.dat)は次のようになります。複数列のファイル内の数値を並べ替える
1 2 4 9
11 2 3 5
6 5 7 4
100 6 1 2
私は最初の列でソートするために使用していたコードです:
with open('rough.dat','r') as f:
lines=[line.split() for line in f]
a=sorted(lines, key=lambda x:x[0])
print a
私は取得しています結果は奇妙である、と私は考えます私は何かばかげている!
[['1', '2', '4', '9'], ['100', '6', '1', '2'], ['11', '2', '3', '5'], ['6', '5', '7', '4']]
あなたが最初の列のソートが昇順ごとに行われていないことを確認して、代わりに、「1」で始まる番号が優先されます! '1'の後の0、つまり100が11より優先されます。