【发布时间】:2012-04-04 23:55:24
【问题描述】:
想象一个像下面这样的双重列表
List<double> lstDouble=new List<double>{4,6,2,7,1,1};
所以我想要的是将此列表中的所有元素除以元素的总和(21)。
所以列表划分后变为:
lstDouble = {4/21,6/21,2/21,7/21,1/21,1/21}
这意味着元素的新总和 = 1
我可以通过迭代等方式做到这一点,但我想知道自 Matlab 以来是否有任何捷径。我的助理教授一直告诉我学习 Matlab 并使用它,但我不想 :D 我喜欢 C#
谢谢。
C# 4.0 WPF 应用程序
【问题讨论】:
-
请注意,之后的总和将大约为 1,而不是完全为 1。根据值的不同,近似值可能非常糟糕。
-
这不是很重要,但它会接近 1。
-
是要修改输入数组,还是要返回一个新的、修改后的数组?
-
我处理了 lstTempDouble = lstTempDouble.Select(x => x / sum).ToList
();