は、私はこのようなテキストファイル内の2つの列があります。テキストファイルのデータで辞書を作成するにはどうすればよいですか?
William 2
David 3
Victor 5
Jack 1
Gavin 4
を、私はそれがdictの中で次のようになりたい:
d = {'William': 2,'David': 3,'Victor': 5,'Jack': 1,'Gavin': 4}
は、私はこれをどのように行うのですか?
は、私はこのようなテキストファイル内の2つの列があります。テキストファイルのデータで辞書を作成するにはどうすればよいですか?
William 2
David 3
Victor 5
Jack 1
Gavin 4
を、私はそれがdictの中で次のようになりたい:
d = {'William': 2,'David': 3,'Victor': 5,'Jack': 1,'Gavin': 4}
は、私はこれをどのように行うのですか?
myDictionary = {}
with open('file.txt', 'r') as f:
for line in f:
myDictionary[line.split()[0]] = int(line.split()[1])
あなたはfile i/oとdictionariesによりアップ読みたいかもしれません。
実際には動作していません。私はプログラムを実行すると5回行く!!! –
@WilliamJiそれは私のためにうまくいきます。 「それは5倍になる」とはどういう意味ですか? –
希望の出力を得るには少し変更が必要です。とにかく、なぜ2回に分割するのですか? –
data = dict(line.split() for line in open('file.txt', 'r'));
' .readlines() 'は必要ありません。' line.split()[1] 'は' int(line.split()[1] 'でなければなりません。 '' open() ''は既にイテレータを返しています(そして遅延しています)。また、角括弧は必要ありません。 '' dict'の入力引数としてジェネレータ式を使用できる場合、メモリ内に巨大なリストを構築する必要はありません。 –
はいそれは本当です、ありがとうございます –
しかし、それはトップの見積もりを持ってはいけませんか? –
あなたは、この使用することができます:あなたは私たちがあなたのためにいくつかのコードを書きたいように見えます
{'David': 3, 'Gavin': 4, 'William': 2, 'Jack': 1, 'Victor': 5}
:
出力を。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ]と[ask]を確認してください。 –
私はこの作業を行うために3日間しか残っていません! –