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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 43120 | 回復(fù): 7
打印 上一主題 下一主題

讀取一篇英文文章將所有的單詞設(shè)定為鍵然后賦值為1創(chuàng)建哈希表 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-08-04 17:28 |只看該作者 |倒序?yàn)g覽
剛開(kāi)始的思路是:
將整個(gè)文件讀取,然后按照空格切割后保存于數(shù)組中,然后遍歷數(shù)組創(chuàng)建哈希表。但是如果文章很長(zhǎng),并且有多個(gè)文章的話,
先保存數(shù)組有點(diǎn)不太妥,效率太低,請(qǐng)問(wèn)如何改進(jìn),使得當(dāng)讀入文件的時(shí)候不創(chuàng)建臨時(shí)數(shù)組直接創(chuàng)建哈希表呢?
text_in:
The U.N. Food and Agriculture Organization says it has less than half the funding it needs to help ensure food security in parts of South Sudan.
.......
(太多先不貼出來(lái)了,假設(shè)文本很規(guī)范)

創(chuàng)建如下的哈希表%Words:
(
    The => 1,
    U.N. => 1,
    Food => 1,
    ...
)

我之前的想法是:
my $content;

{
        local $/= undef;
  $content = <$IN1>;
        close($IN1);
        #print "$content\n";
}

my @words1 = split /\s/,$content;
my %Words1 = map{$_ => 1} @words1;

可不可以不用臨時(shí)的數(shù)組呢,直接創(chuàng)建哈希表,那樣會(huì)不會(huì)更快呢?

論壇徽章:
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
2 [報(bào)告]
發(fā)表于 2016-08-04 18:34 |只看該作者
  1. perl -anle '{$h{$_}++ for @F}END{$,=",";print keys %h}' f
復(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
3 [報(bào)告]
發(fā)表于 2016-08-04 22:06 |只看該作者
use local is easy to slurp all text to a string. not related with speed.

If you want more rapid, use array and uniq it.

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報(bào)告]
發(fā)表于 2016-08-04 23:20 |只看該作者
本帖最后由 jason680 于 2016-08-05 11:02 編輯

回復(fù) 1# 大山里出來(lái)的孩子

$ perl words.pl text_in
the half ensure of needs has Sudan. Food Agriculture to funding less in help says Organization it South than U.N. food parts security and The


$ cat words.pl
use strict;
use warnings;

my %hWord;

while(<>){
  chomp;
  $hWord{$_}=1 for(split);
}
print join(" ",keys %hWord),"\n";

   

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2016-08-04 23:22 |只看該作者
回復(fù) 2# sunzhiguolu


    膜拜大神的單行代碼。!

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2016-08-05 09:33 |只看該作者
感謝大神,我試試看

回復(fù) 4# jason680


   

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2016-08-05 09:35 |只看該作者
大神還是用了數(shù)組啊

回復(fù) 2# sunzhiguolu


   

論壇徽章:
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
8 [報(bào)告]
發(fā)表于 2016-08-05 12:32 |只看該作者
有一些東西你沒(méi)有看見(jiàn), 但并不表示它不存在.
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(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ū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP