在Perl中,我如何按值的频率排序?
发布时间:2020-12-15 21:48:10 所属栏目:大数据 来源:网络整理
导读:我正在尝试创建一个程序来计算数据文件列中出现的不同值.所以,如果列的可能值是A,B,C,那就像是这样的.输出类似于 A 456B 234C 344 通过做这样的事情,我已经能够轻松获得A,B和C的运行计数 my %count; for my $f (@ffile) { open F,$f || die "Cannot open $f:
我正在尝试创建一个程序来计算数据文件列中出现的不同值.所以,如果列的可能值是A,B,C,那就像是这样的.输出类似于
A 456 B 234 C 344 通过做这样的事情,我已经能够轻松获得A,B和C的运行计数 my %count; for my $f (@ffile) { open F,$f || die "Cannot open $f: $!"; while (<F>) { chomp; my @U = split / /; $count{$U[2]}++; } } foreach my $w (sort keys %count) { printf $wt$count{$w}; } 例如,我在计算给定路径中的文件的第二列. 如何通过计数而不是键(或值A,C)对printf的输出进行排序 – A 456 C 344 B 234 解决方法for my $w (sort {$count{$b} <=> $count{$a}} keys %count) { print "$wt$count{$w}n"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |