免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 旋转小马
打印 上一主题 下一主题

我写的代码最后的输出结果有问题,不知道出在哪里,求大神帮忙指教一下,帮我改一下, [复制链接]

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
11 [报告]
发表于 2013-11-21 11:49 |只看该作者
小伙伴们, 告诉我, 输出结果怎样不是{:2_176:}
Cluster_1000    16      5
Cluster_10      9       1
Cluster_1       7       1
Cluster_100     6       1

论坛徽章:
0
12 [报告]
发表于 2013-11-21 11:59 来自手机 |只看该作者
楼主参照下你上一个贴,我给你的回复,用哈希引用的数据结构,避免用多重IF

论坛徽章:
1
狮子座
日期:2014-02-25 09:46:33
13 [报告]
发表于 2013-11-21 12:40 |只看该作者
回复 9# q1208c
输出文件中的第二列我统计的是输入文件的第三列的每种Cluster_**的个数;
同样的,输出文件的第三列,我想统计的是输入文件中,在每中相同的Cluster_**下,输入文件中的第一列的相同个数;
这样讲,我能讲清楚我的目的吗?
   

论坛徽章:
1
狮子座
日期:2014-02-25 09:46:33
14 [报告]
发表于 2013-11-21 12:43 |只看该作者
回复 8# jason680
输出文件中的第二列我统计的是输入文件的第三列的每种Cluster_**的个数;
同样的,输出文件的第三列,我想统计的是输入文件中,在每中相同的Cluster_**下,输入文件中的第一列的相同个数;
这样讲,我能讲清楚我的目的吗?

   

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
15 [报告]
发表于 2013-11-21 14:34 |只看该作者
本帖最后由 jason680 于 2013-11-21 14:36 编辑

回复 14# 旋转小马

modify as below:

        my @line=split/\s+/,$_;
        if(! exists $hash{$line[2]}){
           $hash{$line[2]} = 0;
        }
        $hash{$line[2]}++;

        if(! exists $chek{$line[0]}){
           $chek{$line[0]}=1;
        }
        else{
          $pare{$line[2]}++;
          print "\$pare{\$line[2]}=$pare{$line[2]}, \$line[2]=$line[2]\n"; # for debug
        }


and output data:
$ cat oka.xls
Cluster_1000    16    5
Cluster_10    9    1
Cluster_1    7    1
Cluster_100    6    1

论坛徽章:
1
狮子座
日期:2014-02-25 09:46:33
16 [报告]
发表于 2013-11-21 15:04 |只看该作者
修正一下,正确输出结果就是:
Cluster_1000    16    5
Cluster_10    9    1
Cluster_1    7    1
Cluster_100    6    1
嘿嘿,之前看错了,很不好意思~~~

论坛徽章:
6
卯兔
日期:2013-11-26 14:52:02丑牛
日期:2014-02-19 18:01:25卯兔
日期:2014-05-20 20:34:06白羊座
日期:2014-05-23 13:39:232015亚冠之大阪钢巴
日期:2015-08-07 20:57:582015亚冠之大阪钢巴
日期:2015-09-02 14:09:09
17 [报告]
发表于 2013-11-21 15:07 |只看该作者
改了下你的
  1. use 5.016;
  2. use autodie;
  3. use strict;
  4. use Data::Dumper;
  5. my (%hash,%chek,%pare);
  6. while(<DATA>){
  7.          chomp;
  8.          my ($aa,$bb,$cc)=split/\s+/,$_;
  9.          push @{$chek{$cc}},$aa;
  10.          if($hash{$cc}){
  11.             $hash{$cc}++;
  12.          }else{
  13.             $hash{$cc}=1;
  14.         }
  15. }
  16. foreach my $key (sort {$hash{$b}<=>$hash{$a}} keys %hash){
  17.          print  "$key\t$hash{$key}\t";
  18.     say (my $gg= grep($pare{$_}++ ,@{$chek{$key}}));
  19.       
  20. }
  21. __DATA__
  22. HWI-ST1106:755:H0V1MADXX:2:2204:4345:52798      99      Cluster_1   
  23. HWI-ST1106:755:H0V1MADXX:2:2214:2460:68727      65      Cluster_1      
  24. HWI-ST1106:755:H0V1MADXX:2:1205:4057:41509      153     Cluster_1   
  25. HWI-ST1106:755:H0V1MADXX:2:2214:5236:82377      153     Cluster_1   
  26. HWI-ST1106:755:H0V1MADXX:2:1202:16871:54180     89      Cluster_1   
  27. HWI-ST1106:755:H0V1MADXX:2:1212:4117:41420      153     Cluster_1      
  28. HWI-ST1106:755:H0V1MADXX:2:2204:4345:52798      147     Cluster_1     
  29. HWI-ST1106:755:H0V1MADXX:2:2115:10141:17608     89      Cluster_10   
  30. HWI-ST1106:755:H0V1MADXX:2:1212:17055:53562     163     Cluster_10   
  31. HWI-ST1106:755:H0V1MADXX:2:2110:14814:19836     163     Cluster_10
  32. HWI-ST1106:755:H0V1MADXX:2:2206:18216:74573     99      Cluster_10
  33. HWI-ST1106:755:H0V1MADXX:2:2113:17626:93067     163     Cluster_10   
  34. HWI-ST1106:755:H0V1MADXX:2:1207:3103:73263      99      Cluster_10   
  35. HWI-ST1106:755:H0V1MADXX:2:1103:7010:88764      163     Cluster_10     
  36. HWI-ST1106:755:H0V1MADXX:2:2111:3039:51639      99      Cluster_10   
  37. HWI-ST1106:755:H0V1MADXX:2:1212:17055:53562     83      Cluster_10     
  38. HWI-ST1106:755:H0V1MADXX:2:1107:5037:38527      163     Cluster_100  
  39. HWI-ST1106:755:H0V1MADXX:2:1111:6627:73408      393     Cluster_100   
  40. HWI-ST1106:755:H0V1MADXX:2:1215:16841:58015     73      Cluster_100  
  41. HWI-ST1106:755:H0V1MADXX:2:1107:5037:38527      83      Cluster_100  
  42. HWI-ST1106:755:H0V1MADXX:2:2203:2962:64393      393     Cluster_100  
  43. HWI-ST1106:755:H0V1MADXX:2:1113:7244:73782      137     Cluster_100   
  44. HWI-ST1106:755:H0V1MADXX:2:1104:14953:2121      163     Cluster_1000  
  45. HWI-ST1106:755:H0V1MADXX:2:1212:12709:69650     153     Cluster_1000  
  46. HWI-ST1106:755:H0V1MADXX:2:1108:11227:4178      99      Cluster_1000  
  47. HWI-ST1106:755:H0V1MADXX:2:2112:18155:78922     99      Cluster_1000  
  48. HWI-ST1106:755:H0V1MADXX:2:1203:2053:36493      99      Cluster_1000   
  49. HWI-ST1106:755:H0V1MADXX:2:1112:20266:62035     163     Cluster_1000   
  50. HWI-ST1106:755:H0V1MADXX:2:2104:3375:35332      89      Cluster_1000   
  51. HWI-ST1106:755:H0V1MADXX:2:1105:17103:16844     153     Cluster_1000   
  52. HWI-ST1106:755:H0V1MADXX:2:1215:2568:63103      89      Cluster_1000   
  53. HWI-ST1106:755:H0V1MADXX:2:2205:3921:94905      129     Cluster_1000   
  54. HWI-ST1106:755:H0V1MADXX:2:2107:17892:33129     89      Cluster_1000
  55. HWI-ST1106:755:H0V1MADXX:2:2112:18155:78922     147     Cluster_1000
  56. HWI-ST1106:755:H0V1MADXX:2:1104:14953:2121      83      Cluster_1000   
  57. HWI-ST1106:755:H0V1MADXX:2:1108:11227:4178      147     Cluster_1000   
  58. HWI-ST1106:755:H0V1MADXX:2:1112:20266:62035     83      Cluster_1000   
  59. HWI-ST1106:755:H0V1MADXX:2:1203:2053:36493      147     Cluster_1000
复制代码
回复 1# 旋转小马


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP