如何在列表中间插入元素?

时间:2014-07-29 22:00:20

标签: r list insert

我有一个包含多个元素的列表,比如说10.

testList <- split(1:10,1:10)

如何在列表中间插入一个新元素,比如位置3?

循环遍历所有元素的蛮力方式将起作用,但只是想知道是否有更优雅的方式来做到这一点?

2 个答案:

答案 0 :(得分:25)

我认为append - 函数正是您所寻找的:

append(testList, list(x=42), 3)
$`1`
[1] 1

$`2`
[1] 2

$`3`
[1] 3

$x
[1] 42

$`4`
[1] 4
#snipped....

对于更复杂的列表,您可能会发现hte utils包中的modifyList函数是有用的。它允许有针对性的修改。

答案 1 :(得分:3)

使用提取索引:

> testList[5:11] <- c('something', testList[5:10])
> str(testList)
List of 11
 $ 1 : int 1
 $ 2 : int 2
 $ 3 : int 3
 $ 4 : int 4
 $ 5 : chr "something"
 $ 6 : int 5
 $ 7 : int 6
 $ 8 : int 7
 $ 9 : int 8
 $ 10: int 9
 $   : int 10