[英]x-.y And what about intersection?
x-.y
包括x-.y
所有項目,除了那些是y的單元格
但是,如果我想獲得所有x和y單元格的項目呢?
我能做到這一點
x -.^:2 y
但它需要兩次運行昂貴的操作。 有更好的解決方案嗎?
e.
在使用集合時通常很有用。
x e. y
給出一個匹配列表:
對於x的每個項目,如果它存在於“set”y中則返回
1
,否則為0
。
1 2 3 4 e. 5 9 2
0 1 0 0
然后,
x (e. # [) y
選擇兩個列表中都存在的元素。
1 2 3 4 (e. # [) 5 9 2
2
5 8 (e. # [) i.12
5 8
做-.
兩次是在J.中實現交叉的經典方式。
低效率是一個微不足道的(一個恆定的因素 - 而且,一般來說,你不應該關注J中的效率問題,除非它們超過2倍 - 當你遇到資源問題時,你通常會想要關注因素1000或更多問題)。
換句話說,如果([-.-.)
或-.^:2
對你來說太慢了,那么-.
對你來說也太慢了。 (這可能發生在基礎實現效率低下的極大數據集上。最近版本的J已完成一些工作,以糾正此問題。)
令人失望的,也許是實際的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.