C#でList内の要素のインデックスを1行で取得する方法
C#のListから特定の要素のインデックスを取得したい場合、FindIndex()メソッドとContains()メソッドを組み合わせることで、わずか1行のコードで実現できます。
int index = myList.FindIndex(a => a.Contains("Tennis"));このコードでは、FindIndex()メソッドがラムダ式を受け取り、その条件に一致する最初の要素のインデックスを返します。条件判定の部分ではContains()メソッドを使って、「Tennis」という文字列を含む要素を検索しています。
サンプルコード
以下に完全な動作コードを示します。
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
List<string> myList = new List<string>() {
"Football",
"Soccer",
"Tennis",
};
// インデックスを検索
int index = myList.FindIndex(a => a.Contains("Tennis"));
// 結果を表示
Console.WriteLine("List Item Tennis Found at index: " + index);
}
}実行結果
List Item Tennis Found at index: 2
解説
Listは0からインデックスが始まるため、「Football」が0、「Soccer」が1、「Tennis」が2番目として出力されます。
なお、FindIndex()メソッドには以下のような特徴があります。
- 条件に一致する最初の要素のインデックスを返します。
- 一致する要素が存在しない場合は -1 を返します。そのため、実際の開発では戻り値が-1でないかどうかのチェックを入れるのが安全です。
また、完全一致で検索したい場合はContains()ではなく等価比較(a == "Tennis")を使うこともできます。用途に応じて使い分けるとよいでしょう。
-
TkinterのListboxで選択したアイテムのインデックスを取得する方法
TkinterのListboxウィジェットを使用すると、複数のアイテムからなるリストを簡単に作成できます。リストボックス内の各アイテムには、上から順に0から始まるインデックスが自動的に割り当てられます。この記事では、リストボックス内で選択されたアイテムのインデックスを取得して表示する方法を解説します。curselection()メソッドで現在選択中のアイテムのインデックスを取得し、get()メソッドと組み合わせることで、選択されたアイテムの情報を確認できます。実装例# 必要なライブラリをインポート from tkinter import * # tkinterフレーム(ウィンドウ)のインスタ
-
Pythonでリスト内の要素のインデックスを取得する方法
index()メソッドで最初の出現位置を取得する リスト(文字列やタプルなど、他のシーケンス型でも同様)に用意されている index() メソッドを使うと、特定の要素が最初に出現する位置(インデックス)を簡単に見つけることができます。 >>> L1=[a, b, c, a, x] >>> L1 [a, b, c, a, x] >>> L1.index(a) 0 この例では、リスト L1 の中で a が最初に出現するのはインデックス 0 の位置であるため、0 が返されます。なお、指定した要素がリスト内に存在しない場合は ValueError