Tag: 数据分区

如何将一个向量分成规则的,连续的序列组?

我有一个向量,例如c(1, 3, 4, 5, 9, 10, 17, 29, 30) ,我想将在“不规则”向量中构成规则连续序列的“相邻”元素组合在一起导致: L1:1 L2:3,4,5 L3:9,10 L4:17 L5:29,30 天真的代码(一个前C程序员): partition.neighbors <- function(v) { result <<- list() #jagged array currentList <<- v[1] #current series for(i in 2:length(v)) { if(v[i] – v [i-1] == 1) { currentList <<- c(currentList, v[i]) } else { result <<- c(result, list(currentList)) currentList <<- v[i] […]

python相当于filter()获取两个输出列表(即列表分区)

比方说,我有一个列表和一个过滤function。 使用类似的东西 >>> filter(lambda x: x > 10, [1,4,12,7,42]) [12, 42] 我可以得到符合标准的元素。 有没有一个我可以使用的函数会输出两个列表,其中一个元素匹配,其余元素之一? 我可以调用filter()函数两次,但这有点难看:) 编辑:元素的顺序应该保存,我可能有多个相同的元素。