gpt4 book ai didi

perl - 如何从 Perl 中的散列中获取最小值键

转载 作者:行者123 更新时间:2023-12-05 01:11:23 25 4
gpt4 key购买 nike

我有能够从哈希值中选择最小值的脚本。

use strict;
use warnings;

use Data::Dumper;
use List::Util qw(min);

my @array = qw/50 51 52 53 54/;

my $time = 1596561300;

my %hash;

foreach my $element(@array){
$hash{$time} = $element;
$time += 6; #based on some condition incrementing the time to 6s
}

print Dumper(\%hash);

my $min = min values %hash;
print "min:$min\n";

在这里,我可以从哈希值的所有值中得到 50 作为最小值。但是我如何获得与最小值对应的哈希键,即1596561300

最佳答案

从键中,你可以得到值。因此,您需要具有最小关联值的键。

min LIST可以写成 reduce { $a <= $b ? $a : $b } LIST ,所以我们可以使用

use List::Util qw( reduce );

my $key = reduce { $hash{$a} <= $hash{$b} ? $a : $b } keys %hash;
my $val = $hash{$key};

my ($key) = keys(%hash);
my $val = $hash{$key};
for (keys(%hash)) {
if ($hash{$_} < $val) {
$key = $_;
$val = $hash{$val};
}
}

关于perl - 如何从 Perl 中的散列中获取最小值键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63253058/

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