刪除列表中的元素你好,
有人可以幫助我......我有兩個這樣的列表:
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")}
提前致謝
詹保羅
回复:刪除列表中的元素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);
回复:刪除列表中的元素@tx尼爾森是的,腳本索引和腳本指南都是極好的資源。
不過,為了幫助您一路走來,請查看為了()環形,從......中去除() ,作為列表()和洛克()功能。
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] ) ) )
);
回复:刪除列表中的元素您將使用Remove() 函數。 請參閱腳本索引
幫助==>腳本索引
了解詳情。
我強烈建議您閱讀腳本指南。它包含有關如何操作列表的詳細信息
幫助==>書籍==>腳本指南