1

私のプロジェクトでは、多くの文字列を含むファイルを調べて分割しようとしています。複数の行があります。分割された文字列の各部分を辞書に入れたいのですが、それが可能かどうかはわかりません。今私は持っています:

while inFile:
    key, value = inFile.readline().lower().rstrip().rsplit(' ', 1)

dict と zip を使用することも考えましたが、それはリストがある場合だと思います..

私の入力ファイルは次のようになります。「$」は終了行です。たとえば、「A B」をキーにして、「10」を値にしたいと思います。

A B 10 $
A C 4$
B D 29$
B E 1 $
4

1 に答える 1

4

次のようなことができるはずです。

data = dict(line.lower().rstrip().rsplit(' ', 1) for line in inFile)

これdict()は、反復可能なキーと値のペアを受け入れることができるため機能し、ファイルの各行に少なくとも 1 つのスペースが含まれている限りline.lower().rstrip().rsplit(' ', 1)、2 要素のタプルになります。

ファイルオブジェクトを反復処理すると、ファイル内の各行が得られることに注意してfor line in inFile:くださいwhile inFile: line = inFile.readline()

于 2012-12-04T02:28:01.947 に答える