AllenNeuralDynamics / AllenNeuralDynamics/biodata-schema

Lists vs Dictionaries when using `List[Model]`

オープン
#57 コメント 13 件 リアクション 0 件 担当者 1 名 @dbirman が担当を希望しています GitHub で見る
question
主要言語
Python
スター
0
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

説明

A common pattern in the current schema is to use a `List` of generic objects to keep track of such objects. For instance, cameras can be expressed as follows:

https://github.com/AllenNeuralDynamics/aind-data-schema/blob/c8aca0341d86efc82aa32ba0255b1f66287a4a3c/src/aind_data_schema/rig.py#L64C1

While easy to use, `List`s make grabbing a specific device somewhat difficult without parsing all objects since they must be indexed by the order (which can easily change across days) or the experimenter must generate somesort of keyed collection type with an unique key (e.g. device name).

I wonder if rather than using generic unsorted lists, it would be beneficial to simply use some sort of hashed dictionary structure in the form of `Dict[str, CameraAssembly]` instead of `List[CameraAssembly]`. This would make it much easier to access the objects after deserialization.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。