Skip to main content
Post Undeleted by Mr.Wizard
added 330 characters in body
Source Link
Mr.Wizard
  • 273.1k
  • 34
  • 595
  • 1.4k

Second try:

dat = {"turen", {{"as", {{"lä", {}}}}, {"al", {{"säd", {}}, {"jäs", {}}}}, {"aj", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sa", {{"lä", {}}}}, {"la", {{"säd", {}}, \
{"jäs", {}}}}, {"lä", {{"as", {}}, {"aj", {}}, {"sa", {}}, {"ja", {}}}}, {"ja", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sal", {}}, {"säl", {{"aj", {}}, {"ja", \
{}}}}, {"säd", {{"al", {}}, {"aj", {}}, {"la", {}}, {"ja", {}}}}, {"läs", {{"aj", {}}, \
{"ja", {}}}}, {"dal", {{"jäs", {}}}}, {"jäs", {{"al", {}}, {"la", {}}, {"dal", {}}}}, \
{"sälj", {}}, {"själ", {}}, {"läsa", {}}, {"ädla", {}}, {"dals", {}}, {"jäsa", {}}, \
{"sälja", {}}, {"ädlas", {}}}};

Then:

StringJoin@Riffle[#dat //. {{s_, "{}} "]:> &s, /@{x_, Flatteny_List} /@:> Thread@Map[Flatten,Thread[x dat,~~ {2" " ~~ y]}];

Flatten[Thread /@ %]
turen as lä
turen al säd
turen al jäs
turen aj lä
turen aj säl
turen aj säd
turen aj läs
turen sa lä
turen la säd
turen la jäs
turen lä as
turen aj
turen sa
turen ja
turen ja lä
turen ja säl
turen ja säd
turen ja läs
turen sal
turen säl aj
turen säl ja
turen säd al
turen säd aj
turen säd la
turen säd ja
turen läs aj
turen läs ja
turen dal jäs
turen jäs al
turen jäs la
turen jäs dal
turen sälj
turen själ
turen läsa
turen ädla
turen dals
turen jäsa
turen sälja
turen ädlas
dat = {"turen", {{"as", {{"lä", {}}}}, {"al", {{"säd", {}}, {"jäs", {}}}}, {"aj", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sa", {{"lä", {}}}}, {"la", {{"säd", {}}, \
{"jäs", {}}}}, {"lä", {{"as", {}}, {"aj", {}}, {"sa", {}}, {"ja", {}}}}, {"ja", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sal", {}}, {"säl", {{"aj", {}}, {"ja", \
{}}}}, {"säd", {{"al", {}}, {"aj", {}}, {"la", {}}, {"ja", {}}}}, {"läs", {{"aj", {}}, \
{"ja", {}}}}, {"dal", {{"jäs", {}}}}, {"jäs", {{"al", {}}, {"la", {}}, {"dal", {}}}}, \
{"sälj", {}}, {"själ", {}}, {"läsa", {}}, {"ädla", {}}, {"dals", {}}, {"jäsa", {}}, \
{"sälja", {}}, {"ädlas", {}}}};

Then:

StringJoin@Riffle[#, " "] & /@ Flatten /@ Thread@Map[Flatten, dat, {2}]
turen as lä
turen al säd jäs
turen aj lä säl säd läs
turen sa lä
turen la säd jäs
turen lä as aj sa ja
turen ja lä säl säd läs
turen sal
turen säl aj ja
turen säd al aj la ja
turen läs aj ja
turen dal jäs
turen jäs al la dal
turen sälj
turen själ
turen läsa
turen ädla
turen dals
turen jäsa
turen sälja
turen ädlas

Second try:

dat = {"turen", {{"as", {{"lä", {}}}}, {"al", {{"säd", {}}, {"jäs", {}}}}, {"aj", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sa", {{"lä", {}}}}, {"la", {{"säd", {}}, \
{"jäs", {}}}}, {"lä", {{"as", {}}, {"aj", {}}, {"sa", {}}, {"ja", {}}}}, {"ja", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sal", {}}, {"säl", {{"aj", {}}, {"ja", \
{}}}}, {"säd", {{"al", {}}, {"aj", {}}, {"la", {}}, {"ja", {}}}}, {"läs", {{"aj", {}}, \
{"ja", {}}}}, {"dal", {{"jäs", {}}}}, {"jäs", {{"al", {}}, {"la", {}}, {"dal", {}}}}, \
{"sälj", {}}, {"själ", {}}, {"läsa", {}}, {"ädla", {}}, {"dals", {}}, {"jäsa", {}}, \
{"sälja", {}}, {"ädlas", {}}}};

Then:

dat //. {{s_, {}} :> s, {x_, y_List} :> Thread[x ~~ " " ~~ y]};

Flatten[Thread /@ %]
turen as lä
turen al säd
turen al jäs
turen aj lä
turen aj säl
turen aj säd
turen aj läs
turen sa lä
turen la säd
turen la jäs
turen lä as
turen aj
turen sa
turen ja
turen ja lä
turen ja säl
turen ja säd
turen ja läs
turen sal
turen säl aj
turen säl ja
turen säd al
turen säd aj
turen säd la
turen säd ja
turen läs aj
turen läs ja
turen dal jäs
turen jäs al
turen jäs la
turen jäs dal
turen sälj
turen själ
turen läsa
turen ädla
turen dals
turen jäsa
turen sälja
turen ädlas
Post Deleted by Mr.Wizard
Source Link
Mr.Wizard
  • 273.1k
  • 34
  • 595
  • 1.4k

dat = {"turen", {{"as", {{"lä", {}}}}, {"al", {{"säd", {}}, {"jäs", {}}}}, {"aj", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sa", {{"lä", {}}}}, {"la", {{"säd", {}}, \
{"jäs", {}}}}, {"lä", {{"as", {}}, {"aj", {}}, {"sa", {}}, {"ja", {}}}}, {"ja", {{"lä", \
{}}, {"säl", {}}, {"säd", {}}, {"läs", {}}}}, {"sal", {}}, {"säl", {{"aj", {}}, {"ja", \
{}}}}, {"säd", {{"al", {}}, {"aj", {}}, {"la", {}}, {"ja", {}}}}, {"läs", {{"aj", {}}, \
{"ja", {}}}}, {"dal", {{"jäs", {}}}}, {"jäs", {{"al", {}}, {"la", {}}, {"dal", {}}}}, \
{"sälj", {}}, {"själ", {}}, {"läsa", {}}, {"ädla", {}}, {"dals", {}}, {"jäsa", {}}, \
{"sälja", {}}, {"ädlas", {}}}};

Then:

StringJoin@Riffle[#, " "] & /@ Flatten /@ Thread@Map[Flatten, dat, {2}]
turen as lä
turen al säd jäs
turen aj lä säl säd läs
turen sa lä
turen la säd jäs
turen lä as aj sa ja
turen ja lä säl säd läs
turen sal
turen säl aj ja
turen säd al aj la ja
turen läs aj ja
turen dal jäs
turen jäs al la dal
turen sälj
turen själ
turen läsa
turen ädla
turen dals
turen jäsa
turen sälja
turen ädlas