0

私はデータセットに取り組んでおり、処理中の同じ多くのデータが辞書に保存されています。データが処理されるにつれて、多くのキーが更新されます。

すべてのレベルでキーの存在をチェックすることを避けるために、キーの値をデフォルト値でロードする静的な方法で構造を作成することにしました。

例:

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ループを使用してループしたくありません。これも非効率的な方法です。

疑問がある場合は、お気軽にコメントしてください。

あなたの考えを聞かせてください!

4

0 に答える 0