목록에 다른 목록의 값이 포함되어 있는지 확인하는 방법은 무엇입니까?Contains() 함수를 사용하여 두 번째 목록을 반복하는 것 대신에 우아한 한 줄짜리 코드가 있습니까?
자동화 및 스크립팅Re: 목록에 다른 목록의 값이 포함되어 있는지 확인하는 방법?한 줄짜리는 아니지만 루프보다 더 우아합니다.
A = {1, 2, 3, 4, 5};
B = {3, 6, 7};
check = Associative Array(A);
check << Intersect(Associative Array(B));
N Items(check);Re: 목록에 다른 목록의 값이 포함되어 있는지 확인하는 방법?목록 중 하나를 반복하고 Contains()를 사용하여 특정 목록 항목이 다른 목록의 어디에든 있는지 확인할 수 있습니다.
또는 두 목록을 별도의 연관 배열로 변환한 다음 두 배열 사이의 교집합을 확인할 수 있습니다.
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 또는 Associative Arrays를 사용하지만 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 목록에는 기본적으로 무엇이든 포함될 수 있습니다.