목록의 요소 제거안녕하세요,
누군가 나를 도와줄 수 있어요.....저는 다음과 같은 목록이 두 개 있습니다.
MYLIST = {:empty, :empty2, :Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")};
DELCOLS= {:empty, :empty2};
MYLIST에서 DELCOLS 목록의 요소를 제거하고 싶습니다.
예상 결과:
MYLIST = {:Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")}
미리 감사드립니다
잔파올로
Re: 목록의 요소를 제거합니다.Jeff의 코드는 훌륭하며 원치 않는 항목의 여러 인스턴스를 제거하는 영리한 방법을 사용합니다.
JSL에서 작업을 수행하는 방법이 두 가지 이상인 경우가 많다는 점을 설명하기 위해 연관 배열을 사용하는 대체 접근 방식이 있습니다.
(참고로 모든 배수는 제거됩니다)
MYLIST = {:empty, :empty2, :Name("A:k"), :Name("A:m"), :Name("A:x"), :Name("A:y"), :NA, :Name("D:3"), :Name("D:6"), :Name("D:8")};
DELCOLS = {:empty, :empty2};
// Remove DELCOLS from MYLIST. Retains original order of items.
AA = Associative Array(MYLIST, 1 :: N Items(MYLIST));
MYLIST = (AA << Remove(Associative Array(DELCOLS)) << get keys)[Rank(AA << get values)];
// If order is not important, this simpler version works (items sorted alphabetically)
MYLIST_sorted = Associative Array(MYLIST) << Remove(Associative Array(DELCOLS)) << get keys;
Show(MYLIST, MYLIST_sorted);
Re: 목록에서 요소를 제거합니다.@txnelson 의 말이 맞습니다. 스크립팅 색인과 스크립팅 가이드는 훌륭한 리소스입니다.
이 과정에서 도움을 받으려면 For() 루프, Remove From() , As List() 및 Loc() 함수를 확인하세요.
MYLIST = {:empty, :empty2, :Name( "A:k" ), :Name( "A:m" ), :Name( "A:x" ), :Name( "A:y" ), :NA,
:Name( "D:3" ), :Name( "D:6" ), :Name( "D:8" )};
DELCOLS = {:empty, :empty2};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( mylist, As List( Loc( mylist, delcols[i] ) ) )
);
Re: 목록의 요소를 제거합니다.Remove() 함수를 사용합니다. 스크립팅 인덱스 보기
도움말==>스크립팅 색인
자세한 내용은.
스크립팅 가이드를 읽어 보시기 바랍니다. 목록을 조작하는 방법에 대한 세부정보가 포함되어 있습니다.
도움말==>도서==>스크립팅 가이드