Para sua lista de exemplos, você pode apenas fazer:
unlist(x)[ c(TRUE,FALSE) ]
mas isso depende de cada sublista ter exatamente 2 elementos.
Se houver diferentes números de elementos, você pode primeiro fazer um sapplypara calcular os comprimentos, depois calcular as posições do primeiro elemento correspondente (consulte cumsum) e, em seguida, selecionar esses valores da unlistlista ed. Mas a essa altura, a resposta aceita provavelmente é muito mais simples.
Se todas as sublistas tiverem o mesmo comprimento (mas podem ser diferentes de 2), você pode fazer algo como:
do.call( rbind, x)[,1]
ou algum outro elenco para um objeto comum. Mas duvido que isso seja tão eficiente quanto a lapplyabordagem.