【发布时间】:2016-09-20 09:12:46
【问题描述】:
在多种编程语言中,例如python,可以在迭代时动态修改列表,即删除最后一个元素
list = [1,2,3,4]
for i in a:
a.pop()
在这种情况下,如果我们在每次迭代中打印 i 和 a,我们将得到 2 次迭代,
i=1; a=[1,2,3]
i=2; a=[1,2]
但是,如果我们使用
a = a[:-1]
而不是
a.pop()
我们得到的是四次迭代。 i = 1:4 并且列表每次少一个元素。
我在 R 中工作,并希望实现第一个,能够在我迭代的同时修改我正在迭代的向量。
有可能吗?如何实现?
谢谢!
【问题讨论】:
-
通常您会过滤一个序列并创建一个新序列,例如使用列表推导式。
-
你想要
a[ -length(a)]吗?如果您反复调用它,它将每次删除a的最后一个元素。
标签: python r loops dynamic iteration