Comment écrire un programme fonctionnel pour l'union de deux listes ou ensembles?Fonction de programmation fonctionnelle
-2
A
Répondre
1
Cela dépend de la langue, mais généralement, il y aura une solution récursive impliquant la traversée des ensembles identifiant les éléments partagés.
E.g. en Haskell sur le type Data.Set
natif,
union :: Ord a => Set a -> Set a -> Set a
union Tip t2 = t2
union t1 Tip = t1
union t1 t2 = hedgeUnion (const LT) (const GT) t1 t2
hedgeUnion _ _ t1 Tip
= t1
hedgeUnion cmplo cmphi Tip (Bin _ x l r)
= join x (filterGt cmplo l) (filterLt cmphi r)
hedgeUnion cmplo cmphi (Bin _ x l r) t2
= join x (hedgeUnion cmplo cmpx l (trim cmplo cmpx t2))
(hedgeUnion cmpx cmphi r (trim cmpx cmphi t2))
where
cmpx y = compare x y
Ou plus simplement, pour les listes:
unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs
0
Cela ressemble à une question de devoirs, mais je vais mordre. En Python:
lambda x, y: x + filter(lambda z: z not in x, y)
Questions connexes
- 1. Fonction de programmation fonctionnelle confusion
- 2. Jquery style de programmation fonctionnelle
- 3. Programmation fonctionnelle ou workflows?
- 4. Programmation SML-fonctionnelle
- 5. Nouveau en programmation fonctionnelle
- 6. Meilleures ressources de programmation fonctionnelle?
- 7. Programmation fonctionnelle pure en D
- 8. la programmation fonctionnelle dans R
- 9. Programmation fonctionnelle pour les algorithmes de base
- 10. Modèle de machine pour la programmation fonctionnelle
- 11. Bibliothèque de programmation fonctionnelle pour Objective-C
- 12. Le but de la programmation fonctionnelle
- 13. Haskell - Aide à la programmation fonctionnelle
- 14. Programmation fonctionnelle, carte Scala et pli gauche
- 15. lambda calcul pour la programmation fonctionnelle
- 16. Programmation fonctionnelle avec syntaxe très mathématique
- 17. Programmation fonctionnelle vs. variable et mémoire
- 18. comment faire la programmation fonctionnelle de style 'converge' dans R?
- 19. Haskell - Le métier de la programmation fonctionnelle (exercice 4.3)
- 20. File d'attente fonctionnelle de la programmation dans Scala
- 21. Méthodes d'effets secondaires dans purement langages de programmation fonctionnelle
- 22. efficacité du modèle de programmation fonctionnelle (spécifique Erlang)
- 23. Quelle est la valeur de currying dans la programmation fonctionnelle?
- 24. F # Couper une liste en deux utilisant la programmation fonctionnelle
- 25. Programmation fonctionnelle en C avec macro « supérieur Fonction de commande » générateurs
- 26. question sans importance sur erlang et la programmation fonctionnelle
- 27. Est-ce que la programmation fonctionnelle approche C#?
- 28. Comment utiliser le polymorphisme dans la programmation fonctionnelle?
- 29. Comprendre les types algébriques récursifs en programmation fonctionnelle
- 30. Conception pilotée par domaine dans la programmation fonctionnelle?
est-ce que python est 'fonctionnel'? – KevinDTimm
Je ne le dirais pas, mais vous pouvez y écrire du code fonctionnel. :) – jalf
D'accord. Ce n'est pas purement fonctionnel dans le sens de Haskell ou F #, mais il a un certain soutien pour le paradigme fonctionnel. –