哈希中密钥的Perl计数频率

问题描述 投票:0回答:1

我从多维哈希中提取了第一级密钥,如下所示:

my @string = keys %hash;

print "@string\n";

Bacteroides fragilis (strain YCH46).Agrocybe aegerita (Black poplar mushroom) (Agaricus 
aegerita).Parabacteroides distasonis (strain ATCC 8503 / DSM 20701 / CIP 104284 / JCM 5825 / NCTC 
11152).Pelodictyon phaeoclathratiforme (strain DSM 5477 / BU-1).Clostridium kluyveri (strain NBRC 
12016).Torpedo marmorata (Marbled electric ray).Aethionema grandiflorum (Persian stone-cress).Conus 
consors (Singed cone).Saguinus labiatus (Red-chested mustached tamarin).Staphylococcus haemolyticus 
(strain JCSC1435).Aeromonas salmonicida (strain A449).Acinetobacter genomosp. 13.Staphylococcus 
aureus (strain USA300 / TCH1516).Loxosceles variegata (Recluse spider). and so on...

[我正在尝试计算同一生物的重复次数(我确定其中有些重复了很多。)。

我已经尝试过此代码:

my %count;

foreach my $os (@string)  
{ 
$count{$os}++; 
} 


foreach my $os (sort keys %count)  
{ 
print $os, " ", $count{$os}, "\n";
} 

但是我得到的输出就像所有只出现一次的生物一样,尽管我知道不是这样。

奇怪的是,当我尝试手动定义测试字符串并重复一些生物时,代码起作用了。

我的哈希键发生了什么?

我能够在列表中单独访问它们,因此原则上它们定义良好...

有帮助吗?

编辑:

当有机体为值时的转储结构:

$VAR19987 = 'ADAD2_MOUSE';
$VAR19988 = {
          '478' => 'Mus musculus (Mouse).'
        };
$VAR19989 = 'ADA10_XENLA';
$VAR19990 = {
          '749' => 'Xenopus laevis (African clawed frog).'
        };
$VAR19991 = 'ACCD_PSEPK';
$VAR19992 = {
          '297' => 'Pseudomonas putida (strain ATCC 47054 / DSM 6125 / NCIMB 
11950 / KT2440).'
        };
$VAR19993 = '3S11_DENVI';
$VAR19994 = {
          '60' => 'Dendroaspis viridis (Western green mamba).'
        };
$VAR19995 = 'A1AT4_HORSE';
$VAR19996 = {
          '43' => 'Equus caballus (Horse).'

以及按键时:

$VAR3587 = 'Bactrocera dorsalis (Oriental fruit fly) (Dacus dorsalis).';
$VAR3588 = {
         'ACT3_BACDO' => 376,
         'ACT5_BACDO' => 376,
         'ACT1_BACDO' => 376,
         'ACT2_BACDO' => 376
       };
$VAR3589 = 'Caenorhabditis elegans.';
$VAR3590 = {
         'ACH5_CAEEL' => 511,
         '6PGD_CAEEL' => 484,
         'ACM2_CAEEL' => 627,
         'ACADM_CAEEL' => 417,
         'ADAL_CAEEL' => 388,
         'ACON_CAEEL' => 777,
         'ACBP3_CAEEL' => 116,
         '2AB1_CAEEL' => 495,
         '3HIDH_CAEEL' => 299,
         'ACH1_CAEEL' => 498,
         '6PGL_CAEEL' => 269,
         '2A51_CAEEL' => 542,
         '2AAA_CAEEL' => 590,
         'A16L2_CAEEL' => 534,
         'ACH4_CAEEL' => 548,
         'ACC2_CAEEL' => 445,
         'ADA17_CAEEL' => 686,
         'ACR5_CAEEL' => 598,
         'ACTL1_CAEEL' => 360,
         'ADBP1_CAEEL' => 217,
         'ACH8_CAEEL' => 474,
         '5NT3_CAEEL' => 376,
         'ACT2_CAEEL' => 376,
         'AAR2_CAEEL' => 357,
         'ACH23_CAEEL' => 545,
         'ACD11_CAEEL' => 617,
         'ABF2_CAEEL' => 85,
         'ABDH3_CAEEL' => 375,
         'ABF1_CAEEL' => 85,
         'ABH51_CAEEL' => 355,
         'ACX15_CAEEL' => 659,
         'ACC1_CAEEL' => 466,
         'ABL1_CAEEL' => 1224,
         'ACC3_CAEEL' => 517,
         'ABH52_CAEEL' => 444,
         'ACT4_CAEEL' => 376,
         'ACH2_CAEEL' => 493,
         'ACBP1_CAEEL' => 86,
         '14332_CAEEL' => 248,
         'ACR7_CAEEL' => 538,
         'ACC4_CAEEL' => 408,
         'ACE1_CAEEL' => 620,
         'AATC_CAEEL' => 408,
         'ACH6_CAEEL' => 502,
         'ACH3_CAEEL' => 564,
         'ACR3_CAEEL' => 487,
         'ACMSD_CAEEL' => 401,
         'ACH7_CAEEL' => 507,
         'ACR2_CAEEL' => 575,
         'ACASE_CAEEL' => 272,
         'ACM3_CAEEL' => 611,
         'AAPK2_CAEEL' => 626,
         'ACN1_CAEEL' => 906,
         '3HAO_CAEEL' => 281,
         'ADAS_CAEEL' => 597,
         'ACT1_CAEEL' => 376,
         'A4_CAEEL' => 686,
         'ADA10_CAEEL' => 922,
         'A16L1_CAEEL' => 578,
         'ACT3_CAEEL' => 376,
         'ACP1_CAEEL' => 426,
         'ACM1_CAEEL' => 713,
         'AAPK1_CAEEL' => 589,
         'ACOC_CAEEL' => 887,
         'ACLY_CAEEL' => 1106,
         '14331_CAEEL' => 248
       };
$VAR3591 = 'Anopheles stephensi (Indo-Pakistan malaria mosquito).';
$VAR3592 = {
         'ACES_ANOST' => 664
       };
$VAR3593 = 'Bacillus thuringiensis subsp. konkukian (strain 97-27).';
$VAR3594 = {
         'ACKA_BACHK' => 397,
         'ACCD_BACHK' => 289,
         'ACPS_BACHK' => 119,
         '3MGH_BACHK' => 205,
         'ACCA_BACHK' => 324,
         'ACP_BACHK' => 77
       };
string perl frequency
1个回答
0
投票
word
© www.soinside.com 2019 - 2024. All rights reserved.