展平列表意味着将List <List <T >>转换为List <T>。例如,让我们考虑一个List <List <int >>,它需要转换为List <int>。
LINQ中的SelectMany用于将序列的每个元素投影到IEnumerable <T>,然后将所得序列展平为一个序列。这意味着SelectMany运算符将从一系列结果中合并记录,然后将其转换为一个结果。
using System; using System.Collections.Generic; using System.Linq; namespace DemoApplication{ public class Program{ static void Main(string[] args){ List<List<int>> listOfNumLists = new List<List<int>>{ new List<int>{ 1, 2 }, new List<int>{ 3, 4 } }; var numList = listOfNumLists.SelectMany(i => i); Console.WriteLine("列表中的数字:"); foreach(var num in numList){ Console.WriteLine(num); } Console.ReadLine(); } } }
输出结果
列表中的数字: 1 2 3 4
using System; using System.Collections.Generic; using System.Linq; namespace DemoApplication{ public class Program{ static void Main(string[] args){ List<List<int>> listOfNumLists = new List<List<int>>{ new List<int>{ 1, 2 }, new List<int>{ 3, 4 } }; var numList = from listOfNumList in listOfNumLists from value in listOfNumList select value; Console.WriteLine("列表中的数字:"); foreach(var num in numList){ Console.WriteLine(num); } Console.ReadLine(); } } }
输出结果
列表中的数字: 1 2 3 4
问题内容: 给定以下元组列表: 我如何将其拼凑成列表? 有没有一线做上面的事情? 问题答案: 您可以使用列表推导: 在以下情况下也经常使用: 但是,这并不是完全一样的。
我想把这个val: 对它进行一些操作(我正在考虑展平) 然后得到这个结果 如果展平方法在这里不合适,那很好。只要我得到结果。 谢啦!
问题内容: 我有一个列表看起来像这样: 我想把它弄平 有没有使用numpy的轻量级功能来执行此操作? 问题答案: 如果没有numpy(),一种使用方式 是: 或者作为另一种Python方式,您可以使用 列表理解 : 另一个非常适合短列表的功能方法也可以在Python2和Python3中使用(不要将其用于长列表): 为了使其更快一点,您可以使用内置,而不是: 基准: 使用@Will答案的基准测试(对
我有内部节点和终端节点的树状结构: 我现在有一个
如何使用PDFBox“展平”PDF表单(删除表单字段,但保留字段文本)? 这里回答了同样的问题: 一个快速的方法是从acrofrom中删除字段。 为此,您只需要获取文档曲库,然后是acroform,然后从该acroform中删除所有字段。 图形表示与注释链接并保留在文档中。 所以我写了这段代码:
问题内容: 看来我有NumPy数组列表()格式的数据: 我正在尝试将其放入polyfit函数中: 但是,它返回错误: 我认为我需要将数据拼合为: 我已经尝试了通常在列表列表上都可以使用的列表理解,但是按预期的方法却没有效果: 最好的方法是什么? 问题答案: 可以使用,顾名思义,它基本上将这样一个输入列表的所有元素连接到单个NumPy数组中,如下所示- 如果您希望最终输出为列表,则可以扩展解决方案,