我有两个数组如何从匹配第二个数组元素的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