亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 44886 | 回復(fù): 11
打印 上一主題 下一主題

哈希問題求助 [復(fù)制鏈接]

論壇徽章:
1
處女座
日期:2014-12-12 10:55:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-08-02 15:52 |只看該作者 |倒序?yàn)g覽
這是我自己寫的代碼,預(yù)想中的結(jié)果是這樣的:
Cate
Adam
但是實(shí)際結(jié)果是這個(gè)樣子的:
Cate
Cate
Cate
Cate
Adam
Adam
Adam
Adam

代碼如下
  1 #!/usr/bin/perl -w
  2
  3 use strict;
  4
  5 my %a = (
  6     'a' => '1',
  7     'b' => '2',
  8     'c' => '3',
  9     'd' => '4'
10     );
11
12 my %b = (
13     'a' => 'Adam',
14     'c' => 'Cate',
15     'e' => 'Eva',
16     'l' => 'Lily'
17     );
18
19 foreach my $a (keys %a) {
20     foreach my $b (keys %b) {
21         if (exists $b{$a}) {
22             print $b{$a}, "\n";
23         }
24     }
25 }

求懂得人幫我分析下,謝謝

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2016-08-02 18:26 |只看該作者
你可以試試把 $b在if代碼塊中打印一下,應(yīng)該跟你想的不太一樣

論壇徽章:
307
程序設(shè)計(jì)版塊每周發(fā)帖之星
日期:2016-04-08 00:41:33操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-09-02 06:20:00每日論壇發(fā)貼之星
日期:2015-09-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-04 06:20:00每日論壇發(fā)貼之星
日期:2015-09-04 06:20:00每周論壇發(fā)貼之星
日期:2015-09-06 22:22:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-19 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-20 06:20:00每日論壇發(fā)貼之星
日期:2015-09-20 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-22 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-24 06:20:00
3 [報(bào)告]
發(fā)表于 2016-08-02 19:08 |只看該作者
這樣試下,

  1. 19 foreach my $a (keys %a) {
  2. 20
  3. 21         if (exists $b{$a}) {
  4. 22             print $b{$a}, "\n";
  5. 23         }
  6. 24
  7. 25 }
復(fù)制代碼

求職 : 軟件工程師
論壇徽章:
3
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-07 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-13 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-05 06:20:00
4 [報(bào)告]
發(fā)表于 2016-08-02 19:59 |只看該作者
你多嵌套了一層循環(huán):
  1. 1 #!/usr/bin/perl -w
  2.   2
  3.   3 use strict;
  4.   4
  5.   5 my %a = (
  6.   6     'a' => '1',
  7.   7     'b' => '2',
  8.   8     'c' => '3',
  9.   9     'd' => '4'
  10. 10     );

  11. 12 my %b = (
  12. 13     'a' => 'Adam',
  13. 14     'c' => 'Cate',
  14. 15     'e' => 'Eva',
  15. 16     'l' => 'Lily'
  16. 17     );

  17. foreach my $a (keys %a) {
  18.      # foreach my $b (keys %b) {
  19.          if (exists $b{$a}) {
  20.              print $b{$a}, "\n";
  21.          }
  22.      #}
  23. }
復(fù)制代碼
注釋的兩行是問題的根本,就好像你檢查 %a 中的 key, 是否在 %b 中存在,但檢查了 b 的 keyy 的數(shù)量的次數(shù)。

論壇徽章:
1
處女座
日期:2014-12-12 10:55:00
5 [報(bào)告]
發(fā)表于 2016-08-03 10:39 |只看該作者
我是想取出這兩個(gè)哈希之間共同的keys,所以用了兩層循環(huán),但是得出的結(jié)果不正確,如果想要得出這兩組哈希之間共同的keys那我該怎么做呀,謝謝回復(fù) 4# 104359176


   

論壇徽章:
1
處女座
日期:2014-12-12 10:55:00
6 [報(bào)告]
發(fā)表于 2016-08-03 10:41 |只看該作者
我是想取出這兩個(gè)哈希中工頭的keys 如果只用一層循環(huán)的話 這樣可以篩選出結(jié)果么=。=, 謝謝回復(fù) 3# sunzhiguolu


   

論壇徽章:
1
處女座
日期:2014-12-12 10:55:00
7 [報(bào)告]
發(fā)表于 2016-08-03 10:41 |只看該作者
好, 我試試回復(fù) 2# 白菜餃子餡


   

求職 : 軟件工程師
論壇徽章:
3
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-07 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-13 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-05 06:20:00
8 [報(bào)告]
發(fā)表于 2016-08-03 11:06 |只看該作者
回復(fù) 5# jiangphoenix


    取出共同的 key, 一層循環(huán)就好了。

如果用 newLISP 就更加簡單了:
  1. (intersect '(3 0 1 3 2 3 4 2 1) '(1 4 2 5))  
  2. → (2 4 1)
復(fù)制代碼
這是取出兩個(gè)列表**同的值,如果是兩個(gè)散列,可以先取出 key
  1. (map first @hash-one)
復(fù)制代碼

論壇徽章:
1
處女座
日期:2014-12-12 10:55:00
9 [報(bào)告]
發(fā)表于 2016-08-03 13:35 |只看該作者
奧奧奧,非常感謝!回復(fù) 8# 104359176


   

論壇徽章:
307
程序設(shè)計(jì)版塊每周發(fā)帖之星
日期:2016-04-08 00:41:33操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-09-02 06:20:00每日論壇發(fā)貼之星
日期:2015-09-02 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-04 06:20:00每日論壇發(fā)貼之星
日期:2015-09-04 06:20:00每周論壇發(fā)貼之星
日期:2015-09-06 22:22:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-19 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-20 06:20:00每日論壇發(fā)貼之星
日期:2015-09-20 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-22 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-24 06:20:00
10 [報(bào)告]
發(fā)表于 2016-08-03 13:45 |只看該作者
回復(fù) 6# jiangphoenix
  1. #!/usr/bin/perl -w
  2. use strict;

  3. my %a = (
  4.     'a' => '1',
  5.     'b' => '2',
  6.     'c' => '3',
  7.     'd' => '4'
  8.     );

  9. my %b = (
  10.     'a' => 'Adam',
  11.     'c' => 'Cate',
  12.     'e' => 'Eva',
  13.     'l' => 'Lily'
  14.     );

  15. foreach my $a (keys %a) {
  16.     if (exists $b{$a}){
  17.         print "$a\n";
  18.     }
  19. }
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP