gpt4 book ai didi

arrays - 如何将数组或列表转换为 hashref?

转载 作者:行者123 更新时间:2023-12-04 14:06:02 25 4
gpt4 key购买 nike

我有一个这样的 list :

my $myV3VersionOfData = ["ZG","ZB","CXLDN",...];
我想把它转换成这样的字典:
my $entries = {
'ZG' => {
'value' => 'ZG'
},
'ZB' => {
'value' => 'ZB'
},
'CXLDN' => {
'value' => 'CXLDN'
},
...
};
到目前为止,我尝试过这个,但它不起作用并给我一个错误:

Can't use string ("ZG") as a HASH ref while "strict refs" in use at..


我知道这是因为我试图从列表中分配键值,但是如何将此列表转换为上面显示的字典?
my %genericHash;
for my $entry (@$myV3VersionOfData) {
$genericHash{ $entry->{key} } = $entry->{value};
}
我怎样才能做到这一点?我是 Perl 的新手,我尝试了很多东西,但似乎没有用。任何人都可以帮忙吗?

最佳答案

你很接近。这是从数组引用创建哈希引用的一种方法:

use warnings;
use strict;
use Data::Dumper;
$Data::Dumper::Sortkeys=1;

my $myV3VersionOfData = ["ZG","ZB","CXLDN"];
my $entries;
for (@{ $myV3VersionOfData }) {
$entries->{$_} = {value => $_};
}

print Dumper($entries);
输出:
$VAR1 = {
'CXLDN' => {
'value' => 'CXLDN'
},
'ZB' => {
'value' => 'ZB'
},
'ZG' => {
'value' => 'ZG'
}
};

关于arrays - 如何将数组或列表转换为 hashref?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68475818/

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