私は大きなtxtファイルを取り扱っていますが、全体的に8050000行あります。その短い行の例は次のとおりです。なぜ私のプログラムに時間がかかりますか?
usedfor zipper fasten_coat
usedfor zipper fasten_jacket
usedfor zipper fasten_pant
usedfor your_foot walk
atlocation camera cupboard
atlocation camera drawer
atlocation camera house
relatedto more plenty
私は行を読むためにPythonコードを書き、それを辞書として保存します。私のコードは次のとおりです。
dicCSK = {}
for line in finCSK:
line=line.strip('\n')
try:
r, c1, c2 = line.split(" ")
except ValueError: print line
if c1 not in dicCSK.keys():
dicCSK[c1]= []
str1 = r+" "+c2
dicCSK[c1].append(str1)
しかし、私は、20時間以上のためのプログラムを実行したそれはまだ実行されています。だから、辞書にそれらを保存するためのより良い方法はありますか?私のコードは遅すぎます。ありがとう。
これは、コードレビューを求めているので、このトピックをオフトピックとして閉じるよう投票しています。したがって、http://codereview.stackexchange.comに属しています。 –
その他:私はおそらく別のツール書式) - 特定のものが作成されたディクショナリと何をしようとしているかに依存した詳細。 –
[2]: 'collections.defaultdict(list)'は 'dicCSK.keys()'チェックで 'c1 'の必要性を避けるでしょう。 –