working with a big listこれは以下のリストを生成するこのプログラムに関する私の以前の投稿です。私が書いているプログラムは大きなリンクリストを扱っています。このリストはphonemeListと呼ばれます。リストには次のようなものです:あなたがプログラムについての考えを持つように一方のリストの項目と他方のリストの項目との比較はどちらも外側のリストにあります
[[('dh', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.35], [-1, -1]]),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1,-1]]),
("'", None),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]]),
('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
("'", None),
('p', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1, -1]]),
("'", None),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]]),
('iy', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.1, 0.15], [-1, -1]]),
('ng', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.09, 0.3], [-1, -1]]),
("'", None),
('er', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.5], [-1, -1]]),
("'", None),
('sh', [[-1, -1], [-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [-1, -1]]),
('eh', [[-1, -1], [-1, -1], [0.1, 0.5], [-1, -1], [0.4, 0.7], [-1, -1]]),
('m', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
("'", None),
('p', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
('uw', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.5, 1.0]]),
('dx', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.35], [-1, -1]]),
("'", None),
('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
("'", None),
('er', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.5], [-1, -1]]),
("'", None), ('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1,-1]]),
("'", None),
('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
('iy', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.1, 0.15], [-1, -1]]),
("'", None),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1, -1]]),
('n', [[-1, -1], [-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [-1, -1]]),
('t', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.4], [-1, -1]]),
('l', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
("'", None), ('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15,0.6], [-1, -1]]),
('ah', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]])]]
あなたは親切にリンクを見てでした。ありがとうございました。 [0.15,0.6]はリストではなく範囲です。ここでは間違っているかもしれないリストとして表現されています。これは、値が0.15から0.6まで変化できることを意味します。ここで、[-1、-1]は使用されていないノーレンジのものであり、比較の際に正の数の範囲で置き換えることができます。今、私は 'dh'の項目と 'ih'の項目を比較する必要があります。 'dh'の最初の項目は 'ih'の最初の項目と比較され、2番目の項目は2番目の項目と比較されます。次に 'dh'の項目は ''を無視する 'k'の項目と比較されます。 'dh'はすべてのルールに従います。それから、「私」が現れ、同じことが繰り返されます。これを実行している間( "'"、なし)、無視する必要があります。範囲は比較中に変更され、[-1、-1]が置き換えられます。 ( "'"、 "None")は境界のようなものです。すべてのアイテムを互いに比較した後、次のステップはこれらの境界内で比較することです。初心者であれば、これは本当に私にとっては複雑なことです。しかし、これも私の主なプロジェクトですので、これで私を助けてください。どうもありがとうございました。
比較は何に基づいていますか? – miku
これは恐ろしいコード貼りです –
比較は、最初の音素 'dh'が 'ih'である次の音と比較されているようです。 dh ie [-1、-1]の最初の項目のような項目間の比較は、[-1、-1]であるihの最初の項目と比較されます。その後、2番目のアイテムと3番目のアイテムなど。比較する際には、いくつかのルールがあります。ルールの1つは、[-1、-1]は空きスロットのようなもので、+ ve番号の範囲で置き換えることができます。私は比較のすべてのルールも書いておくべきです。 – zingy