私はデータセットに取り組んでおり、処理中の同じ多くのデータが辞書に保存されています。データが処理されるにつれて、多くのキーが更新されます。
すべてのレベルでキーの存在をチェックすることを避けるために、キーの値をデフォルト値でロードする静的な方法で構造を作成することにしました。
例:
Student : {
"Name" : "",
"Exam" : {
"Math" : {"Marks_Obtained" : 0, "Total_Question" : 100, .... some more keys }
}
}
キーが存在するかどうかのチェック操作を避けるために、「英語」と言う別の試験統計に遭遇した場合、デフォルト値で構造を事前設定します。だから今、私の構造体はこのようになります。
Student : {
"Name" : "",
"Exam" : {
"Math" : {"Marks_Obtained" : 0, "Total_Question" : 100, .... some more keys },
"Eng" : {"Marks_Obtained" : 0, "Total_Question" : 100, .... some more keys },
"Hist" : {"Marks_Obtained" : 0, "Total_Question" : 100, .... some more keys },
"Bio" : {"Marks_Obtained" : 0, "Total_Question" : 100, .... some more keys }
}
}
現在、一部の学生は試験を選択しない可能性があります。その構造全体を削除したい。生徒が削除したい履歴 (del["Exam"]["Hist"]) を選択しなかったとします。
ユーザーが行った試験のために値が頻繁に更新されるため、構造を動的に生成したくありません。反復ごとに構造の有効性をチェックすると、追加の O(1) プロセスが必要になります。
私がやりたいことは、使用されなかったキーを効率的に削除することです。forループを使用してループしたくありません。これも非効率的な方法です。
疑問がある場合は、お気軽にコメントしてください。
あなたの考えを聞かせてください!