前提
pythonを新たに始めた初心者。
pythonで文章を解析して、文ごとのキーワードのリストを作り、似たキーワードセットを持つ文を取り出したいと考えています。
実装上の問題はないのですが、配列/dict型/classの使い分けが分かりません。
データ構造だけの話なので、学生ごとの定期テスト/小テストの各科目点数で例に挙げます。
実現したいこと
日付ごとの全生徒点数表から、一つの構造体が、
[生徒001,
[[2022/01, [定期, 数学. 英語, 国語], [小テスト, 数学. 英語, 国語], ...]
[2022/02, [定期, 数学. 英語, 国語], [小テスト, 数学. 英語, 国語], ...]
... ],
[[2022/01, [定期, 前回比較数学. 英語, ], [小テスト, 前回比較数学. 英語, ], ...]
... ],
[[2022/01, [定期, 平均差数学. 英語, ], [小テスト, 平均差数学. 英語, ], ...]
... ]]
[生徒002,
... ]
と各生徒毎の点数表に直したものを作りたい。前回比較や平均との差は実際の点数から簡単な処理で一意に求められるもの。
後からの利用は点数や前回との比較が条件に合うものを抽出するという形になります。
発生している問題・エラーメッセージ
データ構造体を何で実装したらいいかが分かりません。
配列がいいのか、dict型, classがいいのか。
数値処理(実際は形態素解析して動詞を見出し, 名詞をその他要素にする処理)は別に関数の形でmainの外に出しました。
非常に大規模ならSQLが必要かと思いますが(未勉強), 今は一気に処理する想定です。
何も考えずに配列を使い始めましたが、見出しだけあるdict型(生徒で抽出することはあっても、日付で抽出することは殆どなさそう, データテーブルに移しやすい?)、class(処理をclass内に実装できる, 隠蔽する利点はほぼない, 各要素にpropertyを名付けられる)といったものを使った方がいいのか、用途ごとの使い分け方が分かりません。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/22 14:58