リストに別のリストの値が含まれているかどうかを確認するにはどうすればよいでしょうか?Contains() 関数を使用して 2 番目のリストを反復処理するのではなく、そのためのエレガントなワンライナーはありますか?
自動化とスクリプトRe: リストに別のリストの値が含まれているかどうかを確認するにはどうすればいいですか?ワンライナーではありませんが、ループよりもエレガントです。
A = {1, 2, 3, 4, 5};
B = {3, 6, 7};
check = Associative Array(A);
check << Intersect(Associative Array(B));
N Items(check);Re: リストに別のリストの値が含まれているかどうかを確認するにはどうすればいいですか?リストの 1 つをループし、Contains() を使用して、特定のリスト項目が他のリストのどこかに見つかるかどうかを確認できます。
または、両方のリストを別々の連想配列に変換し、2 つの配列間の交差をチェックすることもできます。
Names Default To Here( 1 );
listA = {"a", "b", "c"};
listB = {"d", "c", "f"};
inBothList = {};
For Each( {member}, listA,
If( Contains( listB, member ),
Insert Into( inBothList, member )
)
);
Show( inBothList );
arrayA = Associative Array( listA );
arrayB = Associative Array( listB );
arrayA << intersect( ArrayB);
show( arrayA );Re: リストに別のリストの値が含まれているかどうかを確認するにはどうすればいいですか?私は通常、For Each + Break または連想配列を使用しますが、Transform Each など、関数を少し「間違って」使用できるさまざまな方法があります (このような「ワンライナー」は、読みにくい傾向があるため、通常はひどいアイデアです (私の意見では))
Names Default To Here( 1 );
A = {1, 2, 3, 4, 5};
B = {3, 6, 7};
r = Eval(Transform Each({item}, A, Output("Expression", "Any"), Contains(B, item)));
また、比較対象が文字列、整数、浮動小数点数、リストなどであるかどうかによっても異なります。JMP リストには基本的に何でも含めることができます。