C#でリスト内の各要素の3乗(キューブ)を計算する方法
C#では、LINQのSelectメソッドとラムダ式を組み合わせることで、リスト内の各要素の3乗(キューブ)を簡単に計算できます。この記事では、具体的なサンプルコードとともにその手順を解説します。
対象となるリストの準備
まず、計算対象となる整数型のリストを用意します。
List<int> list = new List<int> { 2, 4, 5, 7 };
Selectメソッドで3乗を計算する
Select()メソッドは、System.Linq名前空間に含まれる拡張メソッドです。引数として渡したラムダ式を各要素に適用し、変換結果のシーケンスを返します。
ここでは、ラムダ式 c => c * c * c を渡すことで、各要素を3乗しています。
list.AsQueryable().Select(c => c * c * c);
なお、List<T>はIEnumerable<T>を実装しているため、AsQueryable()を使わずに直接 list.Select(c => c * c * c) と書くことも可能です。
サンプルコード全体
以下に、初期リストの表示から各要素の3乗の計算・表示までを行う完全なプログラムを示します。
using System;
using System.Linq;
using System.Collections.Generic;
public class Demo {
public static void Main() {
List<int> list = new List<int> { 2, 4, 5, 7 };
Console.WriteLine("要素一覧...");
// 初期リストの内容を表示
foreach (int n in list)
Console.WriteLine(n);
// 各要素の3乗を計算
IEnumerable<int> res = list.AsQueryable().Select(c => c * c * c);
Console.WriteLine("各要素の3乗...");
foreach (int n in res)
Console.WriteLine(n);
}
}
実行結果
このプログラムを実行すると、以下のように元のリストの要素と、それぞれの3乗の値が出力されます。
要素一覧... 2 4 5 7 各要素の3乗... 8 64 125 343
ポイントまとめ
Select()は各要素に対して指定した変換処理を適用するLINQの投影(プロジェクション)メソッドです。- ラムダ式
c => c * c * cにより、「受け取った値を3回掛ける」という処理を簡潔に記述できます。 Select()は遅延実行されるため、foreachなどで列挙したタイミングで実際に計算が行われます。
このように、Selectメソッドとラムダ式を活用すれば、ループ処理を明示的に書かなくても、リスト内の要素を簡単に変換・加工できます。2乗や4乗など、他の計算にも応用できるので、ぜひ試してみてください。
-
Pythonでリスト内の最小値を見つける方法を解説
この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。
-
リスト内の要素の合計を求めるPythonプログラム
この記事では、Pythonを使ってリスト内のすべての要素の合計を求める方法について、具体的なコード例とともに解説します。問題の定義リストが入力として与えられたとき、そのリストに含まれるすべての要素の合計値を計算する必要があります。例えば、[1, 2, 3, 4, 5]というリストが与えられた場合、出力は 15(1+2+3+4+5)となります。この問題を解くためのアプローチは主に2つあります。1つは組み込み関数を使用する方法、もう1つはブルートフォース(総当たり)方式でループ処理を行う方法です。方法1:組み込み関数 sum() を使うPythonには標準で用意されている組み込み関数 sum()