-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):
多分文字列との比較を変換しない場合にはかもしれないヘルプ
両方をループバックしないで開始できます。たとえば、辞書の逆ルックアップを作成します。 –
逆辞書を取得したら、単にリストの理解を使って 'chester_output_connections'を更新することができます。 –