百科问答小站 logo
百科问答小站 font logo



python二维数组按照某一列进行筛选统计? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

看到有人要嘲讽C#果断不能忍啊,刚睡醒从床上爬起来跑题了也要来一发啊。

       int[][] Do( int[][] array ) {   var result = form item in array group item by item[0] into g select new []{ g.Key, g.Sum( i => i[1] ), g.Sum( i => i[2] ) };   return result.ToArray() }      

       int[][] Do( int[][] array ) {   return array.GroupBy( i => i[0] ).Select( g => new []{ g.Key, g.Sum( i => i[1] ), g.Sum( i => i[2] ) } ).ToArray(); }      


有人提出了质疑,正常项目会这么写么?

嗯,应该说还是有一点儿区别的,因为上面是嘲讽模式。

       int[][] Do( int[][] array ) {   var result = form item in array                 group item by item[0] into g                 select new []{ g.Key, g.Sum( i => i[1] ), g.Sum( i => i[2] ) };   return result.ToArray() }      

       int[][] Do( int[][] array ) {   return array.GroupBy( i => i[0] )               .Select( g => new []{ g.Key, g.Sum( i => i[1] ), g.Sum( i => i[2] ) } )               .ToArray(); }      

嗯,正常项目是这么写的。

LINQ表达式其实是非常简洁易读的,我翻译一下:

         返回 array.按照每一项的 i[0] 分组               .选择( 一个数组{ 分组键, 该分组内所有 i[1] 的总和, 该分组内所有 i[2] 的总和 } )               .转换为数组();      



  

相关话题

  如何优雅地使用spyder? 
  Python 应该怎么学? 
  作为非计算机专业的学生,觉得 C 语言远比其他语言易于上手,正常吗? 
  不同编程语言的程序员之间有鄙视链么? 
  MATLAB在逐渐被Python淘汰吗? 
  为什么 Dropbox 等大型服务使用 Python 作为主要语言,即使它的效率比其他编译型语言低几个数量级? 
  会多门编程语言的你,最推荐哪3-5门语言? 
  如何看待 Python 之父 Guido 加盟微软? 
  vlang,nim等新兴语言未来是否有可能掀翻go,rust,Python等老牌热门语言的霸主地位? 
  如何用python来统计MacPro的圆圈个数? 

前一个讨论
奢靡的公款消费是否有刺激经济增长、增加就业的正面作用?
下一个讨论
如何用通俗易懂的语言解释脚本(script)是什么?





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利