Decompor o conjunto em elementos?
Sep 07 2020
Dada uma lista de tuplas em que um elemento é um conjunto:
{{{}, "a"}, {{1}, "a"}, {{2}, "a"}, {{3}, "a"}, {{1, 2},
"a"}, {{1, 3}, "a"}, {{2, 3}, "a"}, {{1, 2, 3}, "a"}}
Qual é a função que decompõe os conjuntos em novas tuplas, repetindo o outro elemento na tupla, ou seja,
{{{{}, "a"}}, {{{1}, "a"}}, {{{2}, "a"}}, {{{3}, "a"}}, {{{1},
"a"}, {{2}, "a"}}, {{{1}, "a"}, {{3}, "a"}}}
?
Respostas
6 kglr Sep 07 2020 at 20:00
lst = {{{}, "a"}, {{1}, "a"}, {{2}, "a"}, {{3}, "a"}, {{1, 2}, "a"},
{{1, 3}, "a"}, {{2, 3}, "a"}, {{1, 2, 3}, "a"}}
Thread[{List /@ # /. {} -> {{}}, #2}] & @@@ lst // Column
Alternativamente,
Tuples[{List /@ # /. {} -> {{}}, {#2}}] & @@@ lst
mesmo resultado
5 C.E. Sep 07 2020 at 19:57
Eu acredito que é isso que você quer:
expr /. {
idxs_ : {__Integer},
el_
} :> ({{#}, el} & /@ idxs)
onde exprestá sua expressão.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas