我正在翻译一些python代码,并想知道Python的pop()函数是否可以在R中翻译。谢谢!
答案 0 :(得分:4)
你可以编写一个自定义函数来模仿Python pop函数,但我只想补充一点,这种方法与我认为R应该完成相同任务的方式不一致(我不喜欢玩全球环境)。
此示例基于官方python文档:http://docs.python.org/2/tutorial/datastructures.html#using-lists-as-stacks
pop <- function(list, i = length(list)) {
stopifnot(inherits(list, "list"))
res <- list[[i]]
assign(deparse(substitute(list)), list[-i], envir = .GlobalEnv)
res
}
stack <- list(3, 4, 5, 6, 7)
pop(stack)
## [1] 7
stack
## [[1]]
## [1] 3
## [[2]]
## [1] 4
## [[3]]
## [1] 5
## [[4]]
## [1] 6
pop(stack)
## [1] 6
stack
## [[1]]
## [1] 3
## [[2]]
## [1] 4
## [[3]]
## [1] 5