簡體   English   中英

x-.y交叉怎么樣?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM