2017-03-18 2 views
1

私は鍵を与える文字列の最初の文字列が開くファイルと別の文字列にラインを入れ

これまでの値を与えると第二の2行を含むファイルを開く機能を記述しようとしていますI持っている。これは、の内容である

f = open('PT.txt','r') 

string = "" 
while 1: 
    line = f.readline() 
    if not line:break 
    string += line 

f.close() 

以下「PT.txt」

abcdefghijklmnopqrstuvwxyz 
gikaclmnqrpoxzybdefhjstuvw 

私は、文字列

を印刷するとき、私は次の出力を得ます
abcdefghijklmnopqrstuvwxyz 
gikaclmnqrpoxzybdefhjstuvw 

それぞれの行を独自の文字列で取得する方法と、辞書を作成する方法が混乱しています。

私は辞書が

{ 
    'a': 'g', 
    'b': 'i', 
    'c': 'k', 
    # etc 
} 
+0

はい申し訳ありません - ここに私の不正確な表現の-newbieのために - 読書をたくさんやって、それでも少しは – chrischris

答えて

1

これを試してみてください:

fp = open('PT.txt','r') 
s1 = fp.readline() 
s2 = fp.readline() 
s = zip(s1, s2) 
ans = {key : val for key,val in s} 
+1

ありがとうございましたありがとうございました。私は最後の行の代わりに小さな編集を行いました。私はちょうどzipのinfrontを置いています - 同じ出力を与えます。ところで、テキストボックスに入れるのではなく、問題のようなコメント領域にコードを表示するにはどうすればいいですか? – chrischris

+1

@chrischris 1. dict(zip(s1、s2))を実行すると、 'yi xiao'それをより明確にするために2段階で行った。 2.コメントに複数行のコードを入れることはできません。質問の説明に役立つコードを追加する必要がある場合は、質問に追加する必要があります。 –

0
with open("filename") as infile: 
    lines = infile.readlines() 

ノートのようになりたい:変数名などの文字列、または他のコマンド入力または標準モジュール名を使用しないでください。

+1

'STRING'でないタイプの名前を混同が、それはの名前を_is_標準モジュールなので、変数名として使うのは避けるのが良い考えです。 –

関連する問題