免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2446 | 回复: 4
打印 上一主题 下一主题

求助:perl中delete掉二维数组中的某些元素后怎样打印数组剩余元素? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-11 13:44 |只看该作者 |倒序浏览
my @array=(
                        [1,2,3],
                        [4,5,6],
                        [7,8,9],
                );
delete $array[1][1];
for my $aref ( @array ) {
    print "@$aref \n";
}

期望结果:有被delete掉元素的那一行剩余的元素向前移,输出时不要提示未定义。

论坛徽章:
0
2 [报告]
发表于 2012-12-11 14:20 |只看该作者
perl -e '@array=([1,2,3],[4,5,6],[7,8,9],);splice(@{$array[1]},1,1);for(@array){print "@$_\n"}'

论坛徽章:
0
3 [报告]
发表于 2012-12-11 15:12 |只看该作者
回复 2# ludio333


    谢谢~

论坛徽章:
0
4 [报告]
发表于 2012-12-11 15:29 |只看该作者
回复 2# ludio333


    那如果一行删掉了两个元素(跳着删,不连续删),甚至更多元素呢?
比如二维数组:
a1 + 1 3 2 5 4 5 6 8
a1 - 2 4 3 5 5 6 7 8
a2 + 3 7 4 6
a2 - 1 5 7 9

删掉后希望得到:
a1 + 1 5 6 8
a1 - 2 6 7 8
a2 + 3 7
a2 - 1 5 7 9

论坛徽章:
0
5 [报告]
发表于 2012-12-11 15:51 |只看该作者
回复 2# ludio333


    已经会了,就是从后往前删,谢谢你告诉我splice这个函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP