我有一组数字数据,对于我来说知道哪些数字对一起出现以及数次是重要的。每组数据包含1到20之间的7个数字。有数百组数据。基本上,通过解析每一组数据,我想创建一个20 x 20的数组,我可以使用这个数组来保持一对数字在一起出现时的计数。Perl:增加2d数组单元格?
我已经做了很多搜索,但也许我使用了错误的关键词。我见过大量的例子,如何创建一个“2D数组” - 我知道perl实际上并没有这样做,并且它确实是一个引用数组 - 并且打印其中包含的值,但没有真正关于如何工作用一个特定的单元格编号并改变它。
下面是我的概念代码。注释行不起作用,但说明了我想实现的目标。我对编写perl有新意,而且这似乎提高了我理解我见过的例子并将其转化为我实际可以使用的例子。
my @datapairs;
while (<DATAFILE>)
{
chomp;
my @data = split(",",$_);
for ($prcount=0; $prcount <=5; $prcount++)
{
for ($othcount=($prcount+1); $othcount<=6; $othcount++)
{
@data[$prcount][email protected][$prcount]+1;
@data[$othcount][email protected][$othcount]+1;
@data[$prcount][email protected][$prcount]-1;
@data[$othcount][email protected][$othcount]-1;
print @data[$prcount]." "[email protected][$othcount]."; ";
#@datapairs[@data[$prcount]][@data[$othcount]]++;
#@datapairs[@data[$othcount]][@data[$prcount]]++;
}
}
}
任何输入或建议将不胜感激。
我很坦白地说,在阅读了多个代码示例之后,我不明白这一点。谢谢。 – BretCB 2013-05-03 16:41:45
@BretCB - 正如你所说,可能术语不是很熟悉。一旦你练习5-10次,你会发现它的第二天性。 – DVK 2013-05-03 16:43:15