gpt4 book ai didi

perl - 如何从哈希散列中映射(和排序)值?

转载 作者:行者123 更新时间:2023-12-04 13:24:55 25 4
gpt4 key购买 nike

我有一个哈希哈希,如下所示:

%hash =(a => {b => 1,c => 2,d => 3},
a1 => {b => 11,c => 12,d => 13},
a2 => {b => 21,c => 22,d => 23})

我想提取“b”元素并将其放入数组中。现在,我正在遍历散列来执行此操作,但是我认为可以通过使用map来稍微提高效率。我很确定,如果这是一个散列数组,我会使用类似以下的内容:

@hasharray =({b => 1,c => 2,d => 3},
{b => 11,c => 12,d => 13},
{b => 21,c => 22,d => 23})
@array = map {($ _-> {b} => $ _)} @hasharray

如果我错了,请原谅我,我仍在学习map的工作原理。但是我想知道的是,我将如何映射散列的哈希?使用 map 甚至可能吗?我还没有找到任何这样做的例子。

更好的是,此代码中的下一步是对数组进行填充后对其进行排序。我很确定这是可能的,但是我对使用map自己弄清楚还不够聪明。我将如何一次性完成所有这些工作?

谢谢。
赛斯

最佳答案

这将提取并排序所有“b”:

my @array = sort { $a <=> $b } map $_->{b}, values %hash;

关于perl - 如何从哈希散列中映射(和排序)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3585408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com