相关疑难解决方法(0)

是否有一个优雅的拉链来交错Perl 5中的两个列表?

我最近在Perl 5中"需要"一个zip函数(当时我正在考虑如何计算相对时间?),即一个函数,它将两个列表和"拉链"一起放到一个列表中,交错元素.

(伪)例如:

@a=(1, 2, 3);
@b=('apple', 'orange', 'grape');
zip @a, @b; # (1, 'apple', 2, 'orange', 3, 'grape');
Run Code Online (Sandbox Code Playgroud)

哈斯克尔在前奏拉链Perl 6的有一个拉链运营商内置的,但你怎么做它在Perl 5优雅的方式?

perl zip

27
推荐指数
4
解决办法
9918
查看次数

这是在Perl中提取AoH子集的最干净的方法吗?

出于好奇,是否有另一种方法可以提取我的AoH结构的子集?AoH是“矩形”的(即,保证所有哈希引用具有相同的键)。

map对于本质上是花哨的哈希片,使用temp var和nested s似乎有点过多:

use strict;
use warnings;
use Data::Dump 'dump';

my $AoH = [ # There are many more keys in the real structure

            { a => "0.08", b => "0.10", c => "0.25" },
            { a => "0.67", b => "0.85", c => "0.47" },
            { a => "0.06", b => "0.57", c => "0.84" },
            { a => "0.15", b => "0.67", c => "0.90" },
            { a => "1.00", b => "0.36", c => "0.85" …
Run Code Online (Sandbox Code Playgroud)

perl data-structures

5
推荐指数
1
解决办法
212
查看次数

如何从可变大小的数组初始化HoH

我需要帮助找出如何适应$ hash {$ i}加载不同大小的@headers数组的情况.用严格; 使用警告;

    my $file = "list.csv";

    open (FILE,"$file") || die "Can't open file: $!\n"; 
    my (@lines) = <FILE>; 
    close(FILE);

    my @headers = split(',',$lines[0]);#split up header line

    my %hash;
    for (my $i=1; $i < scalar(@lines); $i++)
    {
        my @strings = split(',',$lines[$i];

# NEED help here
        $hash{$i} = {
            $headers[0] => $strings[0],
            $headers[1] => $strings[0],
            $headers[2] => $strings[0],
            $headers[3] => $strings[0],
            $headers[4] => $strings[0],
            $headers[5] => $strings[0]
            };

    }
Run Code Online (Sandbox Code Playgroud)

在标量(@headers)= 5,6,7等等的情况下,有没有办法在索引处加载哈希?是否存在类似...的程序等效

$hash{$i} = {
        $headers[0] => $strings[0],
              ...
        $headers[n] …
Run Code Online (Sandbox Code Playgroud)

arrays perl hash

0
推荐指数
1
解决办法
141
查看次数

标签 统计

perl ×3

arrays ×1

data-structures ×1

hash ×1

zip ×1