创建一个以数组为键的Perl哈希
发布时间:2020-12-15 21:48:26 所属栏目:大数据 来源:网络整理
导读:如何将数组(如下例中的元组)放入Perl中的哈希? %h=();@a=(1,1);$h{@a}=1 or $h{@a}=1?? 我尝试使用数组引用,但它不起作用.我该如何使它工作?我希望通过散列(以及其他方面)进行基本上重复删除. 解决方法 常规哈希只能有字符串键,因此您需要为数组创建某种
如何将数组(如下例中的元组)放入Perl中的哈希?
%h=(); @a=(1,1); $h{@a}=1 or $h{@a}=1?? 我尝试使用数组引用,但它不起作用.我该如何使它工作?我希望通过散列(以及其他方面)进行基本上重复删除. 解决方法
常规哈希只能有字符串键,因此您需要为数组创建某种哈希函数.一个简单的方法是简单地将
join个数组元素,例如
$h{join('-',@a)} = @a; # A nice readable separator $h{join($;,@a)} = @a; # A less likely,configurable separator (" 34") 但是这种方法(使用哨兵值)要求你选择一个在钥匙中找不到的角色.以下不会遇到这个问题: $h{pack('(j/a*)*',@a)} = @a; 或者,查看Hash::MultiKey,它可以采用更复杂的密钥. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |