私は6000の数値を持つ2つのファイルを持っています。私は両方の最初の15の値を与えています。数値辞書のリストを並べ替えるにはどうすればいいですか?
base.txt
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
2.900000e+03
new2.txt
0
100
200
1
101
201
2
102
202
3
103
203
4
104
204
は、私は2番目のファイルの昇順に対応するbase.txt値(速度)から新しいリストを作成したい。(0,1,2、 3,4,5、...) 私のコードは、これまで
import itertools
from operator import itemgetter
vel = [line.strip() for line in open("base.txt", 'r')]
ind = [line.strip() for line in open("new2.txt", 'r')]
print type(vel)
print type(ind)
adict = dict(itertools.izip(ind,vel))
newlist = sorted(adict, key=itemgetter(ind))
私の考えでは、リストとしてファイルを読み込む辞書を作成し、値を整理しようとしたが、このコードは動作しません。 私はこれは、私が欲しいものIwantない
2.900000e+03 0
2.900000e+03 1
2.900000e+03 10
2.900000e+03 100
2.900000e+03 1000
2.900000e+03 1001
2.900000e+03 1002
2.900000e+03 1003
2.900000e+03 1004
2.900000e+03 1005
2.900000e+03 1006
2.900000e+03 1007
2.900000e+03 1008
2.900000e+03 1009
2.900000e+03 101
2.900000e+03 1010
2.900000e+03 1011
2.900000e+03 1012
を持って、私はCPandaのソリューションをしようとすると、この
<type 'list'>
<type 'list'>
Traceback (most recent call last):
File "m1.py", line 11, in <module>
newlist = sorted(adict, key=itemgetter(ind))
TypeError: string indices must be integers, not list
ファイルはここに
をしているです2番目のインデックスは0,1,2,3,4,5などになります。
なぜ機能していませんか?期待される出力は何ですか、代わりに何を得るのですか、つまりエラーですか? – Francesco
@Francesco投稿を編集しました。 –