web-dev-qa-db-ja.com

Rのdict python dictと同等

私はRのpython dictと同等のものを作りたいと思います。基本的に、python

visited = {}

if atom_count not in visited:
  Do stuff
  visited[atom_count] = 1

アイデアは、特定のatom_countを見たら、[atom_count] = 1にアクセスしたということです。したがって、そのatom_countをもう一度見た場合、「スタッフ」はしません。 Atom_Countは整数です。

ありがとう!

66
user1357015

Rのpython dictに最も近いのはリストです。ほとんどのRデータ型と同様に、リストには名前と値のペアのセットのように動作できる名前属性があります。

> l <- list(a = 1,b = "foo",c = 1:5)
> l
$a
[1] 1

$b
[1] "foo"

$c
[1] 1 2 3 4 5

> l[['c']]
[1] 1 2 3 4 5
> l[['b']]
[1] "foo"

さて、通常の免責事項については:exactlyと同じではありません;違いがあります。したがって、Pythonでdictを使用する場合とまったく同じ方法でリストを文字通り使用しようとすると、失望を招くことになります。

59
joran

ハッシュテーブルの使用(新しい環境の作成)が問題の解決策になると思います。これを行う方法を入力しますが、昨日talkstats.comでそうしました。

辞書が大きくて2列しかない場合、これが最適な方法です。サンプルRコードを含むtalkstatsスレッドへのリンクは次のとおりです。

ハッシュテーブルリンク

5
Tyler Rinker

あなたの場合のように、「ディクショナリ」に同じ型の値を保存したいだけなら、単純にベクトルを使用して、各要素に名前を付けることができます。

> l <- c(a = 1, b = 7, f = 2)
> l
a b f 
1 7 2

「キー」にアクセスする場合は、namesを使用します。

> names(l)
[1] "a" "b" "f"
2
user2739472