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"} }
7 Réponses :
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"}}
Voici une solution possible résultat p>
Que diriez-vous:
{{"a"}, {"b"}, {"c"}, {"d"}, {"a", "b"}, {"a", "b", "c"}, {"a", "b", "c", "d"}, {"b", "c"}, {"b", "c", "d"}, {"c", "d"}}
Un moyen: donne p>
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}}
J'aime mieux la méthode de Tomd, mais c'est ce qui est venu à mon esprit, Sans String Traitement: p> p>
@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 I> 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.
Je pense que j'aime bien ce meilleur de tous: avec la jonction de la chaîne: p> 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"}]
+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 code> Fonctions dans le formulaire suivant
stringjoin @@@ (plus] / @ f [REST] @set // aplatissez [#, 1] &) // Partition [#, 1] & // InputForm code> 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.