数组 – Perl,如何删除哈希数组中的哈希?
发布时间:2020-12-15 23:22:25 所属栏目:大数据 来源:网络整理
导读:我有一个哈希数组,如下所示. @students= ( { 'math' = 95,'phy' = 90,'che' = 85 },{ 'math' = 50,'phy' = 70,'che' = 35 }); 我想基于某些条件删除整个哈希,因为我尝试使用下面的代码但是我得到一个错误,说删除参数不是HASH或ARRAY元素或切片.所以请帮帮我,
我有一个哈希数组,如下所示.
@students= ( { 'math' => 95,'phy' => 90,'che' => 85 },{ 'math' => 50,'phy' => 70,'che' => 35 } ); 我想基于某些条件删除整个哈希,因为我尝试使用下面的代码但是我得到一个错误,说删除参数不是HASH或ARRAY元素或切片.所以请帮帮我,我该怎么办? for $i ( 0 .. $#students) { for $key ( keys %{ $students[$i] } ) { if ($key eq 'che') { if ($students->{$key} == 35){ delete (%{$students[$i]}); } } } } 解决方法
删除非常适合散列键,但在您的情况下,您希望删除数组元素,以便可以应用grep过滤:
@students = grep { $_->{che} != 35 } @students; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |