EDIT: Ma question était à l'origine "Y at-il un nom standard pour une fonction qui aplatit une liste de listes, mais seulement un niveau profond?", Mais la réponse de Chuck est beaucoup plus proche de ce que je voulais demander. il. Les trois réponses m'ont été utiles, cependant. Merci. 'Flatten' semble être un nom bien accepté pour une fonction qui prend un arbre et construit une liste d'atomes aussi profonds qu'ils soient imbriqués, mais qu'en est-il d'une fonction qui s'arrête après un seul niveau? Donc ((1 2) ((3 4) (5 6)) (7 8)) "somethings" à (1 2 (3 4) (5 6) 7 8). Est-ce que "quelque chose" a un nom commun dans plusieurs langues/bibliothèques?Existe-t-il un nom commun pour une fonction qui prend une liste de listes et renvoie une seule liste contenant le contenu de ces listes?
Les réponses à cette question:
Flattening a shallow list in Python
suggèrent que « la chaîne » pourrait être une bonne supposition, mais est assez commun d'être « standard »?
Mais les deux ne prennent-ils pas les listes à joindre en tant que paramètres individuels, ne figurant pas dans une seule liste? Je peux donc faire (ajouter (1 2) ((3 4) (5 6)) (7 8)) et revenir (1 2 (3 4) (5 6) 7 8), mais (ajouter ((1 2) ((3 4) (5 6)) (7 8))) reviendrait ((1 2) ((3 4) (5 6)) (7 8)), n'est-ce pas? – jtolle
Oui, mais vous pouvez utiliser un _spreadable argument list_ avec APPLY, ou utiliser REDUCE pour le faire pas à pas. – Svante
Droite. Ce que je demandais, c'est ce qu'un nom commun pourrait être pour une fonction qui fait (appliquer # 'ajouter une liste de listes) ou (réduire #' ajouter une liste de listes). «concat», «join» ou «chain» semblent tous plausibles. – jtolle