2 つのリストがある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいでしょうか?あるリストの n 番目の要素を別のリストの n 番目の要素に関連付けるにはどうすればよいですか? 連想配列を調べていましたが、実際にそれらをループして各キーを値に関連付ける方法がわかりません。 (私のキーは 1 つのリストにあり、データはもう 1 つのリストにあることに注意してください)。
スクリプト作成Re: リストが 2 つある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいですか?いいえ、できません。キーと値のペアとして機能します。追跡する必要がある追加の値があるため、複数の配列を維持する必要があると思います。通常、最終的には arrName、arrLSL、arrUSL などの配列のコレクションになります。ただし、リスト要素は何でも構いません。そのため、例として仕様を指定すると、次のような配置になります。
specs = arrSpecs[parameter];
lsl = specs["lsl"];
usl = specs["usl"];
つまり、arrSpecs はパラメータ名に基づいたキーを持つ配列です。ただし、値はキー「lsl」と「usl」を持つ別の配列です。
Re: リストが 2 つある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいですか?こんにちは、デイビッドさん
3 つのパラメータに連想配列を使用できますか? 試してみたところ、2 つは機能しましたが、3 番目のパラメータは最後に独自のリストを作成するだけでした。 各関連要素にどのように関連付ければよいでしょうか?
Re: リストが 2 つある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいですか?これは非常に役立ちます、ありがとう!
Re: リストが 2 つある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいですか?純粋にリストの観点から考えている場合、インデックスはそれらを関連付けます。つまり、両方のリストの i 番目の要素が必要な場合は次のようになります。
value1 = lst1[i];
value2 = lst2[i];
連想配列の観点から考えたい場合は、2 つのリストを使用して配列を作成できます。
arr = AssociativeArray(lst1,lst2);
次に、おそらく、一方のリストの値を使用して他方のリストを参照したいと考えます。
key = lst1[i];
value = arr[key];
次に、次のようなことを繰り返します。
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);
例えば:
dt = open("$SAMPLE_DATA/Big Class.jmp");
lst1 = dt:name << get values;
lst2 = dt:age << get values;
arr = AssociativeArray(lst1,lst2);
keys = arr << get keys;
for (i=1,i<=nitems(keys),i++,
key = keys[i];
value = arr[key];
show(key,value);
);Re: リストが 2 つある場合、一方のリストの n 番目の要素をもう一方の配列の n 番目の要素に関連付けるにはどうすればよいですか?あなたは正しい道を進んでいると思います。連想配列は機能します。以下の例は役に立ちますか?
Names Default To Here( 1 );
list1={"A","B","C","D"};
list2={5,6,7,8};
aa = Associative Array( list1, list2 );
Show(aa[list1[2]]);