我有兩個數組如何從匹配第二個數組元素的Perl數組中找到元素?
@one = ("1|1|the|dog|ran", "1|2|a|x|b", "2|8|e|s|e");
@two = ("1|2|a|x|b", "1|1|down|the|street", "2|8|e|s|e");
我需要由前兩個與它們匹配「|」分離的元素。因此,當$ 1 [0]時,搜索將返回$ 2 [1]。
每個陣列中有數百萬行,所以我需要最快的方式來做到這一點。編輯: 對不起,我很抱歉。我想對待第2個「|」分隔的元素(即1 | 2,2 | 1)作爲數組的鍵,循環遍歷第一個數組,並使用該鍵搜索第二個數組以獲取第二個數組中的值。這有幫助嗎?
當你說「第一個」時,你是否確實是指「第一個TWO」?因爲那樣會更有意義。 – TLP
從Perl FAQ開始尋找這裏:[我如何找到兩個數組的交集?](http://learn.perl.org/faq/perlfaq4.html#How-do-I-compute-the-difference-如何做兩個數組 - 我怎麼做 - 我計算 - 兩個數組的交集) –
鑑於每個數組中有數百萬個元素,我們擔心你不能在內存中保存整個數組一旦?陣列會隨着時間的推移而增長,以至於內存確實成爲問題? – DavidO