的關鍵,我有以下代碼刪除重複值在哈希
chdir("c:/perl/normalized");
$docid=0;
my %hash =();
@files = <*>;
foreach $file (@files)
{
$docid++;
open (input, $file);
while (<input>)
{
open (output,'>>c:/perl/tokens/total');
chomp;
(@words) = split(" ");
foreach $word (@words)
{
push @{ $hash{$word} }, $docid;
}
}
}
foreach $key (sort keys %hash) {
print output"$key : @{ $hash{$key} }\n";
}
close (input);
close (output);
這是一個文件的示例輸出
of : 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 4 4 4 4 5 6 6 7 7 7 7 7 7 7 7 7
這是因爲例如存在「的」一詞真然而,在第一個文檔 中有10(10個)倍的時間,有沒有辦法去除重複的值;即,而不是十分的人我想只是一個 謝謝您的幫助
添加它之前,檢查它是否已經在哈希值。或者我在這裏錯過了什麼? – Madbreaks
它已被[問之前](http://stackoverflow.com/questions/7651/how-do-i-remove-duplicate-items-from-an-array-in-perl)。請在發佈另一個同樣的問題之前進行搜索。 – hd1