2016-09-14 16 views
0

ファイルの内容をループし、各単語のキーを計算し、同じキーを持つ単語をリストに格納したいと考えています。 PythonでRに値リストを含む辞書と挿入キーを作成するには?

、それは以下のようなものだ:Rで

dictionary = {} 
for word in file: 
    key = dosomecalucation(word) 
    dictionary.setdefault(key, []) 
    dictionary[key].append(word) 

、どのように私はリストとして文字列や値としてキーを持つ辞書を宣言することができますか? 辞書にキーが存在するかどうかを確認する方法はありますか?

+0

RのPython辞書に相当するのは、完全な辞書クラスを提供する[パッケージがあります](https://github.com/mkuhn/dict)ですが、多かれ少なかれ名前付きリストです。 – alistaire

答えて

0

あなたはこの作業のためにhashパッケージを使用することができます。

library(hash) 

h <- hash() 

for (word in file) { 
    key <- dosomecalculation(word) 
    if (!has.key(key, h)) { 
     h[key] <- list() 
    } else { 
     h[key] <- append(h[[key]], word) 
    } 
} 

[[を使用してインデックス化するためには、(例えばh[["foo"]])、対応するリストを返します。

+0

あなたは直接h ["foo"] < - list()を割り当てますが、 "foo"がhに存在するかどうかをチェックする必要があります。 – eriee

+0

ああ、大丈夫です! :)私はそれに応じて答えを更新しました。 – parir

関連する問題