Je veux convertir la liste de tuple en tuple de liste, et la première liste de tuple est constituée du premier élément de l'élément original tuple. Par exempleconvertir la liste de tuple en tuple de liste dans OCaml
convert [(1,2);(3,4);(5,6)] = ([1;3;5],[2;4;6])
comme ça.
J'ai essayé plusieurs fois et réussi à obtenir [1; 3; 5] en suivant le code ci-dessous.
let rec convert lst =
match lst with
|[]->[]
|(a,b)::tl->a::(convert tl)
Cependant, je ne sais pas comment obtenir deuxième élément de la liste des tuple [2, 4, 6] et comment les fusionner en un seul tuple.
La solution sur laquelle vous travaillez ne sera pas récursive et il existe un moyen de le faire de manière récursive. Essayez de finir le vôtre avec l'aide de la réponse de @ PatJ, puis essayez de le faire en queue récursive, c'est en fait facile et une bonne formation. ;-) – Lhooq