11
votes

Sous-formes séquentielles d'une liste

Compte tenu d'une liste indique

{
 {"a"},
 {"a b"},
 {"a b c"},
 {"a b c d"},
 {"b"},
 {"b c"},
 {"b c d"},
 {"c"},
 {"c d"},
 {"d"}
}


0 commentaires

7 Réponses :


1
votes

Vous pouvez le faire comme ceci:

{{"a"}, {"a b"}, {"a b c"}, {"a b c d"}, {"b"}, {"b c"}, {"b c d"}, {"c"}, {"c d"}, {"d"}}


0 commentaires

1
votes

Voici une solution possible xxx

résultat xxx


0 commentaires

7
votes

Que diriez-vous:

{{"a"}, {"b"}, {"c"}, {"d"}, {"a", "b"}, {"a", "b", "c"}, {"a", "b", 
  "c", "d"}, {"b", "c"}, {"b", "c", "d"}, {"c", "d"}}


0 commentaires

1
votes

Un moyen: xxx

donne xxx


0 commentaires

14
votes
Flatten[Partition[{a, b, c, d}, #, 1] & /@ {1, 2, 3, 4}, 1]
gives
  {{a}, {b}, {c}, {d}, {a, b}, {b, c}, {c, d}, {a, b, c}, {b, c, d}, {a,
  b, c, d}}

0 commentaires

5
votes

J'aime mieux la méthode de Tomd, mais c'est ce qui est venu à mon esprit, Sans String Traitement: xxx

 graphiques Mathematica


3 commentaires

@yoda Je pensais que les réponses étaient de caractère suffisamment différent. Je vois un problème avec omnibus réponses: il n'est pas clair QUELLE Méthode Les personnes votantes pour, dévalorisent le but des votes et que les électeurs peuvent avoir le sentiment de voter pour des méthodes qu'ils n'aiment pas (ni échouement absolu ) S'ils veulent voter pour un, ils le font. Contrairement à l'affirmation de Peter, je n'étais pas des votes de jeu.


@ M.Wizard Je sais, et je n'ai pas tenu compte du commentaire de Peter. Je sais que vous faites cela pour des réponses suffisamment différentes, mais j'étais curieux pourquoi ici, quand vous semblez avoir au lit de club deux styles différents dans l'autre réponse. J'ai plus tard compris que c'était la première réponse et que vous avez probablement ajouté la modification à celle-ci pour rester près du commentaire de Nasser. En tout cas, je ne me soucie pas vraiment - juste curieux.


@yoda j'ai posté une question dans le salon; Je veux savoir ce que la communauté pense à ce sujet.



19
votes

Je pense que j'aime bien ce meilleur de tous: xxx pré>

avec la jonction de la chaîne: p> xxx pré>

dans une veine similaire, spécifique à Cordes: P>

ClearAll[f, f2]
f[i_][x_] := NestList[i, x, Length@x - 1]
f2[set_]  := Join @@ ( f[Most] /@ f[Rest][set] )

f2[{"a", "b", "c", "d"}]


6 commentaires

+1, ce n'est pas juste M. Wizard, vous laissez Mathematica faire tout le travail acharné en utilisant cette méthode. Vous êtes censé faire quelque chose!


C'est bien! Et je pense que c'est une excellente conformité avec la conception principale de Mathematica plutôt qu'une tricherie :)


Soigné!!! Si vous utilisez vos deux NestList Fonctions dans le formulaire suivant stringjoin @@@ (plus] / @ f [REST] @set // aplatissez [#, 1] &) // Partition [#, 1] & // InputForm Vous obtenez la sortie souhaitée


@RCollyer Je suis amusé à laquelle mes réponses reçoivent beaucoup de votes; Celui-ci semblait assez évident pour moi, tandis que certains que je pensais étaient vraiment intelligents luttaient pour avoir deux ou trois.


Je pense que les éléments évidents, mais intelligents obtiennent le plus de votes. Ceux qui sont intelligents, mais moins évidents, ont tendance à générer moins de votes parce que la barre est un peu plus élevée pour la compréhension. J'ai du mal à comprendre certains des Léonid et j'hésite à upvote une réponse que je ne comprends pas.


@RCollyer j'ai le même problème avec les réponses de Leonid; J'ai sur une douzaine de favoris que je dois examiner, à la fois pour ma propre éducation, afin que je puisse évoquer avec confiance.