加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读