在Perl中,如何找到列表中的最小值并保持索引与该值相对应?

亚历克斯·马克

我正在寻找区分side_i和side_j之间的区别,以找到最小值……,然后……将最小和最大乘以给定的数字。

这很简单。但是,我仍然希望能够以这样的方式来区分i和j,以便我知道它们相乘之后是哪个。

到目前为止,这就是我所拥有的。请注意,我是Perl和常规编码的新用户:

use strict; 
use Getopt::Long;
use List::Util qw(max);
use File::Find;
use warnings 'all';



my $side_i = 24.56; 
my $side_j = 3.56; 
my $maxi = 10;
my $maxj = 10; 
my $threshold = 0.05; 
my $small_side;



(my $sside, my $bside) = smallestTest($side_i, $side_j);


sub smallestTest{

    my $sside;
    my $bside;
    print "$_[0] $_[1] /n";
    if ($_[0]<$_[1]){
        $sside = $_[0];
        $bside = $_[1];
    } else {
        $sside = $_[1];
        $bside = $_[0];
    }
return($sside, $bside);
}
print "Biggest side is $bside /n";

my $newSide_i = $.....*20;
my $newSide_j = $.....*21;
鲍罗丁

我建议您使用哈希值%side来包含值。然后$sside$bside变量可以保持身份ij最小的和最大的价值

在确定了哪个之后,您无需再解释要做什么,所以最后我的乘法可能相去甚远

use strict; 
use warnings 'all';

my %side = ( i => 24.56, j => 3.56 );

my ($sside, $bside) = $side{i} < $side{j} ? qw/ i j / : qw/ j i /;

$side{$sside} *= 20;
$side{$bside} *= 21;

如果愿意,可以改用sort哈希键排序。结果是相同的

my ($sside, $bside) = sort { $side{$a} <=> $side{$b} } keys %side;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在PostgreSQL中,如何返回与值的最小值相对应的整行?

如何找到向量中n个最小值的索引?

在大熊猫中,找到每行的最小值,该最小值大于的值

如何获取对应于python中列的n个最小值的datetime索引

python3,嵌套列表中的最小值,使用枚举保持索引

在VBA中的多维数组中找到最小值的索引

找到每列中的最小值及其索引

在第二列中找到与第一列中的索引值相对应的最小数字

Java 8:从列表中查找最小值的索引

Python中索引二维列表的最小值

在python中获取列表最小值的索引

如何在python中的多个列表中的矩阵中找到最小值?

如何遍历列表并检索最小值的索引,但忽略输出列表中的重复项?

如何从两个列表中删除与单独列表的重复值相对应的非最大值的索引?

找到一个列表的最小值,然后从另一个列表中打印相应的索引

Excel中,如何找到最小值的列数?

django 如何找到不在字段中的最小值?

如何获取列中多个最小值的索引?

如何从Perl中的哈希获取最小值键

如何在单行中获取最小值和最大值以及对应的ID

从列表中查找每一行的最小值及其对应的列号

在一个值的基础上找到列表中列表的最小值

通过列表列表中的索引计算最小值或最大值

如何获取此包含元组的列表中的最小值?

检索与嵌套词典中的最小值对应的键

从列表中打印最小值(PYTHON)

如何找到一行中最小值的索引?

如何找到与最大值相对应的值并将其标记在R中

熊猫找到对应于绝对最小值的值