C#でタプルのリストを簡単に初期化する方法【コード例付き】
タプル(Tuple)は、プロパティを持つオブジェクトを格納するためのデータ構造が必要なときに便利です。専用のクラスや型を新しく定義するほどではない場面で、複数の値を手軽にひとまとめにできます。
Tuple<T>クラスは.NET Framework 4.0で導入されました。タプルとは、異なるデータ型の要素を順序付けて格納できるデータ構造のことです。
Tuple<int, string, string> person =
new Tuple<int, string, string>(1, "Test", "Test1");
なお、1つのタプルに格納できる要素は最大8個までという制限があります。9個以上の要素を含めようとするとコンパイルエラーが発生するため、注意が必要です。
タプルのリストを初期化する
C# 7.0以降で利用できる値タプル(ValueTuple)を使えば、リストの初期化子の中に直接タプルを記述でき、非常に簡潔に書けます。
var tupleList = new List<(int, string)>
{
(1, "cow1"),
(5, "chickens1"),
(1, "airplane1")
};
タプルの配列を初期化する
配列の場合も同様に、シンプルな記述でタプルの配列を初期化できます。
var tupleArray = new (int, string)[]
{
(1, "cow1"),
(5, "chickens1"),
(1, "airplane1")
};
ネストしたタプル
8要素を超えるデータを扱いたい場合は、タプルの中に別のタプルを格納する「ネスト構造」が有効です。
var numbers = Tuple.Create(1, 2, 3, 4, 5, 6, 7,
Tuple.Create(8, 9, 10, 11, 12, 13));
メソッドの引数としてタプルを使う
タプルはメソッドのパラメータとしても渡せます。関連する複数の値をまとめて受け渡しできるのが利点です。
static void DisplayTuple(Tuple<int, string, string> person)
{
}
戻り値としてタプルを使う
メソッドから複数の値を返したい場合にも、タプルは非常に便利です。戻り値用のクラスを定義しなくても、複数の値をそのまま返せます。
static Tuple<int, string, string> GetTest()
{
return Tuple.Create(1, "Test1", "Test2");
}
-
Pythonで文字列やリストからタプルを作成する方法をわかりやすく解説
tuple()関数の基本的な使い方Pythonには、さまざまなオブジェクトをタプルに変換できる組み込み関数 tuple() が用意されています。この関数を使うことで、文字列を個々の文字からなるタプルに変換したり、リストオブジェクトをそのままタプルに変換したりできます。ここでは、それぞれの具体的な使い方を見ていきましょう。1. 文字列をタプルに変換する文字列を tuple() の引数として渡すと、各文字が1つの要素となったタプルが返されます。>>> tuple(TutorialsPoint) (T, u, t, o, r, i, a, l, s, P, o, i, n, t)こ
-
Pythonでタプルのリストを反復処理する方法
タプルのリストを反復処理する最も簡単な方法は、2つのネストされたforループ(二重ループ)を使用することです。外側のループがリストから各タプルを1つずつ取り出し、内側のループがそのタプルに含まれる各要素を順番に走査します。内側のprint()関数では引数にend= を指定することで、改行せずにタプル内のすべての要素を1行に出力できます。さらに、外側のループ内にあるもう1つのprint()が、各タプルの出力後に改行を挿入します。サンプルコードL=[(1,2,3), (4,5,6), (7,8,9,10)] for x in L: for y in x: print(y,