是否有R版本的Python pop()函数?

时间:2014-03-23 20:19:20

标签: python r pop

我正在翻译一些python代码,并想知道Python的pop()函数是否可以在R中翻译。谢谢!

1 个答案:

答案 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