詞典的按鍵我創建了一個字典是這樣訪問R中
dict = new.env()
key <- "test"
dict$key <- 20
但是,當我想字典的關鍵,我這樣做
print(ls(dict))
但什麼是返回是「關鍵「而不是」測試「。
我試着這樣做,以及
dict[["key"]] <- 20
,但我得到了相同的結果。那麼我怎樣才能訪問我的字典的鍵?
詞典的按鍵我創建了一個字典是這樣訪問R中
dict = new.env()
key <- "test"
dict$key <- 20
但是,當我想字典的關鍵,我這樣做
print(ls(dict))
但什麼是返回是「關鍵「而不是」測試「。
我試着這樣做,以及
dict[["key"]] <- 20
,但我得到了相同的結果。那麼我怎樣才能訪問我的字典的鍵?
您可以使用環境或列表作爲詞典(個人而言,我更喜歡後者),以這樣的方式
### using environment as dictionary
dict <- new.env()
dict[["key 1"]] <- 20
dict[["key 2"]] <- "ABC"
# let's see the keys:
ls(envir = dict)
# access by name:
dict[["key 1"]]
dict[["key 2"]]
### using list as dictionary
dict <- list()
dict[["key 1"]] <- 20
dict[["key 2"]] <- "ABC"
# let's see the keys:
names(dict)
# access by name:
dict[["key 1"]]
dict[["key 2"]]
# of course, in both case you can use a character variable to define the key, e.g. :
myKey <- "key 3"
dict[[myKey]] <- 123
print(dict[[myKey]])
# > [1] 123
它的工作原理。謝謝 – user3841581
但是現在如果我使用第二種情況,現在是否像列表一樣迭代它?我的意思是遍歷所有密鑰 – user3841581
我不確切知道你需要什麼,但是例如你可以使用循環'for(n in names(dict))print(dict [[n]])'來迭代所有的值, – digEmAll
我想創建這樣一個字典:
> dict<-c(1:20)
> names(dict)<-letters[1:20]
> dict
a b c d e f g h i j k l m n o p q r s t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> dict["t"]
t
20
'key'沒有出現在你沒有放入的環境中。嘗試'print(key)'看看''test''還在那裏。 –
的確是它的實際關鍵。請原諒我的無知,我該怎麼說呢?它不是字典$ key <-value或dict [[「key」]] ???? – user3841581