これをより科学的に表現するための正確な単語がわからないので、私の貧弱な文法で私を助けてください。辞書のリストの列数を増やす
私の問題は次のとおりです。私はそうのような辞書のリストからテーブルを構築しています
for d in listDictionary:
print d
{'key1':'value11', 'key2':'value12', ..., 'keyM':'value1M'}
{'key1':'value21', 'key2':'value22', ..., 'keyM':'value2M'}
...
{'key1':'valueN1', 'key2':'valueN2', ..., 'keyM':'valueNM'}
簡単にするために、あなたはN*M
マトリックスとしてこれを想像することができます。これと同じように:
key1 key2 ... keyM
value11 value12 ... value1M
value21 value22 ... value2M
...
valueN1 valueN2 ... valueNM
今、ここで本当の問題です。値の中にはさらに処理が必要なものもありますが、どれだけ多くの値があるかは必ずしも分かりません。たとえば、 はkeyKからIth
の値を選択します。 0<K<M, 0<I<N
ですので、valueIK
です。
valueIK
は、n/a
のいずれかになります。siblings
とchildren
のツリーを表します。
ツリー表現は、このようなものです:
root1
-> somevalue1
root2
-> somevalue2
root3
-> somevalue3
だから、プレーンテキストで、valueIK
は次のようになります。root1>somevalue1;root2>somevalue2;root3>somevalue3;
valueIKが最初の仮定よりも多くのアイテムを持っているので、私は行列/ listDictionaryを拡張できるようにしたいです。しかし、辞書のサイズを一定に保つためには、リスト内の他の項目も更新する必要があります。
ex。我々は初期行列としてこれを持っている場合、私はこのような何かを達成したい
key1 key2 ... keyK ... keyM
value11 value12 ... ... value1M
value21 value22 ... ... value2M
... valueIK
valueN1 valueN2 ... ... valueNM
:つまり
key1 key2 ... keyK root1 root2 ... keyM
value11 value12 ... n/a whatevervalue ... value1M
value21 value22 ... someothervalue n/a ... value2M
... valueIK somevalue1 n/a
valueN1 valueN2 ... n/a helloWorld ... valueNM
を、エントリかもしれないの残りの部分は、キーroot_
の下にいくつかの値を持っており、 we do notそれらを変更したいのですが、何も持っていない場合は、マトリックスセルを埋める必要があります'n/a'
ごめんなさいry長い技術的なポスト。私は可能な限り分析的になるように努めた。 これを私自身で行う方法を見つけることができないので、私は助けを求めています。
おかげで:)
SHあなたの最初の試みは、この問題を理解するのに役立つでしょう。 –
「valueIK」の各部分がテーブルから直接アクセスできるようにするのはなぜか分かりません。テーブル内のツリーのポイントは、テーブル内のその単一ポイントからすべてのサブノードを参照できるようにすることだと思います。 –