2017-09-02 11 views
-2

私は本当に巨大なデータサイズで作業しています。私のコードにはかなりの時間がかかる計算があります。コードは次のとおりです。dictと配列を使ったPythonの高速な方法

chester_output_connections = ['0', '5', '0', '1', '0', '2', '0', '3', '0', '4', '1', '9', '1', '2', '1', '6', '1', '8', '2', '9', '2', '3', '2', '8', '3', '9', '3', '7', '3', '8'] 

dic = {1: 0, 2: 1, 3: 2, 4: 3, 5: 4, 6: 5, 7: 6, '2fit': 7} 

for index,item in enumerate(chester_output_connections): 
    for k,v in dic.items(): 
     if str(v)==str(item): 
      chester_output_connections[index]=str(k) 

ランタイムを改善するための提案をしてください。

if str(v)==item: 

は少しそれをスピードアップするかもしれません(アイテムがすでに文字列であるため)あなたは

if str(v)==str(item): 

多分文字列との比較を変換しない場合にはかもしれないヘルプ

+2

両方をループバックしないで開始できます。たとえば、辞書の逆ルックアップを作成します。 –

+0

逆辞書を取得したら、単にリストの理解を使って 'chester_output_connections'を更新することができます。 –

答えて

-1

。 。??

関連する問題