2010-11-25 24 views
16

リスト内の要素を与えると、その関数を使ってインデックスを見つけることができます。リスト内の要素のインデックスを見つける方法は?

たとえば、リスト内のインデックスを3としたいのですが、[1, 2, 3, 4]です。

ハスケルにはどの機能がありますか?

+8

あなたはまだハスケルを考えていません。ハスケルリストは要素のストリームに似ています。あなたはstdinの要素のインデックスについてC++に問いませんか?おそらく、Data.Vectorなどの有限の長さのデータ構造が必要です。 –

+1

あなたの質問は、例えば[1,2,3,4,3]というリストのもっと一般的な場合にも当てはまりますか?つまり、あなたの望む関数は、それらのインデックスの両方を返しますか、それとも最初に見つかったものだけでしょうか? – wlangstroth

+1

@JasonDagit私はそれが本当だとは思わない。例えば。私はデータベース*(学生プロジェクトの一部)*の実装をしています。列名を持つ表のヘッダーと、値に応じた行のリストがあります。私が見る唯一の方法であるキーが与えられれば、ヘッダーのインデックスを見つけ出し、すべての行のインデックス値に従って取得します。 –

答えて

20

こちらをご覧ください:

すなわちをData.ListからelemIndexを使用する:あなたは要素のインデックスが必要な場合は

+2

'elemIndex'は' Maybe Int'型を返しますので、次のように値を "抽出"できます: 'fromJust $ elemIndex 3 [1,2,3,4]'(import 'Data.Maybe') – vikingsteve

関連する問題