加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

arrays – Perl:基于特定列对具有多个列的2D数组进行排序

发布时间:2020-12-15 21:46:51 所属栏目:大数据 来源:网络整理
导读:伪代码: my @unsortedArray = { ["Harry",10],["Tim",8],["Joe",3]};my @sortedArray = ????? 最终sortedArray应该基于col-2(整数)进行排序,处理与“人名”(col-1)的1对1关系.最终结果应如下所示: sortedArray should be { ["Joe",3],["Harry",10] }; 解决
伪代码:
my @unsortedArray = { ["Harry",10],["Tim",8],["Joe",3]};
my @sortedArray = ?????

最终sortedArray应该基于col-2(整数)进行排序,处理与“人名”(col-1)的1对1关系.最终结果应如下所示:

sortedArray should be { ["Joe",3],["Harry",10] };

解决方法

您可以为谓词提供排序,即:一个被评估以比较列表元素的函数.
my @unsorted = ( ["Harry",3] );

my @sorted = sort { $a->[1] <=> $b->[1] } @unsorted;

在谓词(花括号中的表达式)中,$a和$b是外部列表中要比较的元素.

sort只关注一维列表,因此它不会混淆外部列表元素的内部结构.因此,名称和数字之间的关系可以毫不费力地保留.

有关更多详细信息,请参阅perldoc -f sort和perldoc perlop.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读