Como usar Flatten para um elemento específico de uma lista
Digamos que tenho uma lista {{1, 2, 3}, {4, 5}, ...}
. Eu quero fazer a lista parecer {1, 2, 3, {4, 5}, ...}
. Estou fazendo assim:
list = {{1, 2, 3}, {4, 5}};
list2 = Flatten[list[[1]], 1];
list3 = Append[list2, list[[2]]]
Isso está me dando resultado correto. Mas existe alguma maneira fácil de fazer isso?
Respostas
10 kglr
Para nivelar a primeira lista em uma lista de listas:
Append @@ list
{1, 2, 3, {4, 5}}
{##& @@ #,##2}& @@ list
{1, 2, 3, {4, 5}}
Em geral, além do FlattenAt[list, 1]
sugerido por Rohit nos comentários, você pode usar
MapAt[Splice, list, {1}] (* in versions 12.1+ *)
MapAt[Apply[Sequence], list, {1}]
MapAt[Sequence&, list, {1, 0}]
ReplacePart[list, {1, 0} -> Sequence]
l = list; l[[1]] = Splice[l[[1]]]; l
l = list; l[[1,0]] = Sequence; l
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?