重複の可能性:
辞書内のキーが重複している場合にエラーを発生させる方法
私は最近、数十万のキーを持つ巨大な辞書を生成していました (そのため、それらを見てバグに気付くことは不可能でした)。構文的には正しいのですが、どこかにバグがありました。それは「重複キー」に要約されます:
{'a':1, ..., 'a':2}
このコードは正常にコンパイルされ、a
キーの値が2
期待どおりである理由がわかりませんでした1
。問題は今や明らかです。
問題は、将来それをどのように防ぐことができるかです。これはpythonでは不可能だと思います。使った
grep "'.*'[ ]*:" myfile.py | sort | uniq -c | grep -v 1
これは防弾ではありません。他のアイデアはありますか(Python内では、このgrepは私が試したことを説明するためのものです)?
編集: 重複したキーは必要ありません。これが発生したことを特定し、データを手動で編集する必要があります