我有一个列表列表(一个矩阵,通过matlab的web.api HTTP POST发送)。
List<List<decimal>> mylist;
矩阵的大小为nxm
,我该如何交换这些列表?即。
mylist[i][j] --> mylist[j][i]
在Matlab中,操作将是mylist'
或在数学上下文中(转置)
mylist^T
答案 0 :(得分:2)
你可以使用Linq
来实现没有for
循环的那样:
var swapedList =
mylist
.SelectMany((l, i) => l.Select((d, j) => new { i, j, d }))
.GroupBy(l=>l.j)
.Select(l=>l.Select(ll=>ll.d).ToList());
.ToList();
我希望对你有所帮助:)。