私はさまざまな連絡先のレーダーからデータを受信しています。各連絡先には、緯度、経度、方向、範囲、およびタイムスタンプがあります。連絡先にヒットするたびに1,2,3などのIDが割り当てられます。これは1つの連絡先に対して、時間の経過とともに辞書を示唆します。そのため、一つのコンタクトのための私の辞書には、次のようなものになります。辞書内の辞書の内容を操作する
{1:[data @ t1], 2:[data @ t2], 3:[data @ t3]}
をや時間などの辞書になるまでいっぱいになります...しかし、唯一つの接点がありません。いくつか、多分多くがあるでしょう。これは、辞書の辞書を示唆:
{'SSHornblower': {1:[data], 2:[data], 3:[data]},
'Lustania': {1:[], 2:[], 3:[]},
'Queen Mary': {1:[], 2:[], 3:[], 4:[]}}
多分3多分300、私のレーダーがありますどのように多くのコンタクト手の前に知ることは不可能である私は、すべての可能な連絡先を事前に名前を思い付くことができず、すべての可能な辞書の名前。したがって、私は大きな辞書の中に辞書を入れたら、それをクリアして新しい連絡先からやり直すことができるという考えを思いつきました。しかし、私が別のものの中に入れ子にした後に私が明確にするとき、それはより大きな辞書の中のすべてをクリアする!これを回避する方法はありますか?
これまでにどのようなコードをお持ちですか?コードやデータをフォーマットすることもできますか?そのテキストブロックは目障りです。 – blacksite
辞書のO(1)アクセス時間が必要ですか?そうでなければ、連絡先をリストに保存することができます。あなたが辞書を必要とするなら、未知の連絡先に保証された一意識別子(おそらく整数 - 名前が一意であるとは思わない)を割り当てるシステムが必要です。 (また、リストや['collections.OrderedDict'](https://docs.python.org/3/library/collections.html#collections.OrderedDict)を使ってレーダーの「ping」を保存することを検討してください。タイムスタンプの付いたデータを使用すると、それを時系列順に繰り返すことになります。おそらくは_n_秒より古いすべてのpingを削除することになります) –
あなたの問題を理解していますか分かりません。特に、なぜあなたは物事をクリアすることを考えていますか?新しい連絡先に出会ったときにメイン辞書に新しいエントリを追加することはできませんか? – bli