2010-11-25 4 views
16

Donner un élément dans une liste, quelle fonction puis-je utiliser pour trouver son index. Par exemple, je veux trouver l'index de 3 dans la liste [1, 2, 3, 4].Comment trouver l'index d'un élément dans une liste?

Quelle fonction existe dans Haskell que je peux utiliser?

+8

Si vous avez besoin de l'index d'un élément Dans une liste, vous ne pensez pas encore à Haskell. Les listes Haskell ressemblent plus à des flux d'éléments. Vous ne demanderiez pas C++ pour l'index d'un élément dans stdin le feriez-vous? Vous voulez probablement une structure de données de longueur finie telle que Data.Vector. –

+1

Est-ce que votre question s'applique également au cas plus général de la liste, disons, '[1,2,3,4,3]'? En d'autres termes, est-ce que votre fonction désirée renverrait ces deux index, ou peut-être seulement le premier qu'il trouverait? – wlangstroth

+1

@JasonDagit Je ne pense pas que ce soit vrai. Par exemple. Je fais une implémentation d'une base de données * (partie d'un projet étudiant) *, et il y a un en-tête d'une table avec des noms de colonnes, et une liste de lignes avec des valeurs d'accord. Étant donné une clé, la seule façon que je vois, est de trouver un index dans l'en-tête, et de prendre en fonction des valeurs d'index de chaque ligne. –

Répondre