好吧,这是处理问题的一种方法(在某种程度上我理解你想做什么) . 每当您需要回答有关成员资格的问题时,您可能希望使用哈希值 .

use strict;

use warnings;

my @array1 = ( 11, 22, 33, 44);

my @array2 = ( 11, 2, 3, 44, 5, 44);

my @array3 = (-11, -2, -3, -44, -5, -444);

# Keep track of every value in @array1.

my %vals = map { $_ => 1 } @array1;

my @keep_indexes;

# Go through @array2, either adding the corresponding

# value in @array3 to @array1 or storing the array index.

for my $i (0 .. $#array2) {

if ($vals{$array2[$i]}){

push @array1, $array3[$i];

}

else {

push @keep_indexes, $i;

}

}

# Rebuild @array3 from the indexes that we stored.

# Change this to @array2 if you want to delete from that array instead.

@array3 = map $array3[$_], @keep_indexes;

print join(' ', @array1), "\n"; # 11 22 33 44 -11 -44 -444

print join(' ', @array2), "\n"; # 11 2 3 44 5 44

print join(' ', @array3), "\n"; # -2 -3 -5

我不喜欢这个代码,所以这里有一些警告:

任何时候你编号变量名( @array1 , @array2 等),你都会感到困惑 . 您需要更好的变量名称,或者更可能的是更好的数据结构 .

任何时候你发现自己都在维护并行数组,你应该考虑一个更好的数据结构是否会有所帮助 .

java在循环中删除数组元素,在循环Perl中删除数组中的元素相关推荐

  1. java父进程获取子进程异常_如何在perl的父进程中获取死亡的子进程的PID?

    您可以将父项及其子项放在自己的进程组中,并通过向父项发送信号来终止整个系列 . 根据您的问题的性质,您可能愿意离开(麦克马纳斯先生!),并且因为每次尝试 kill 对已经死亡的子进程感到失败 . 如果 ...

  2. java list 范围删除_JAVA中循环删除list中元素(移除list两时间范围外的元素)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  3. php for循环删除元素,php-在foreach循环中取消设置数组值

    这个问题在这里已有答案: 如何在foreach循环中删除数组元素?                                     8个答案 我设置了一个foreach循环来遍历我的数组,检查 ...

  4. 在Java中使用分隔符(拆分的对立面)连接数组元素的快速简便方法

    本文翻译自:A quick and easy way to join array elements with a separator (the opposite of split) in Java [ ...

  5. 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

     1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /**** ...

  6. Java中遍历数组使用foreach循环还是for循环?

    这篇文章主要介绍了Java中遍历数组使用foreach循环还是for循环?本文着重讲解for语句的语法并给出使用实例,同时总结出尽量使用foreach语句遍历数组,需要的朋友可以参考下 从JDK1.5 ...

  7. mysql for 循环删除_Java增强for循环中删除元素抛异常问题

    前言 最近突然想起刚毕业那会找工作时面试被问了个这样的问题.就是"使用增强for循环遍历ArrayList(List集合)时删除其中的元素是否会出现异常?".说实话当时真把我愣住了 ...

  8. java json 去重_js操作两个json数组合并、去重,以及删除某一项元素

    两个json数组合并去重,以及删除某一项元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C', ...

  9. B09_NumPy迭代数组(控制遍历顺序,修改数组中元素的值,使用外部循环,广播迭代)

    NumPy迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用arange()函数 ...

  10. PHP常用数组函数(含按键值删除二维数组中的元素)

    // 1.array_search():在数组中搜索键值"red",并返回它的键名 $a=array("a"=>"red"," ...

最新文章

  1. POJ1236 Network of Schools【强连通】
  2. selenium代码练习
  3. 无法获取到图片的宽高
  4. 深度学习机器配置 装机指南:从GPU到显示器,全套硬件推荐
  5. 基于SDP的提议/应答(offer/answer)模型简介
  6. 注册表模板-OEM信息自定义
  7. 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
  8. UIKit封装的系统动画
  9. 转载-zookeeper在kafka中的作用
  10. [图像]张正友论文翻译(2)
  11. 按值对对象属性进行排序
  12. Mac系统下运行Java项目出现Unable to start embedded Tomcat server解决方法
  13. 第二阶段冲刺第六天,6月5日。
  14. kickstart实现网络安装centos6.3系统
  15. h3c交换机配置教程命令(新手配置交换机详细教程)
  16. 网络教室是以多媒体计算机为核心,浅谈多媒体计算机网络教室发展趋势和方向...
  17. 汉字转为16进制的unicode
  18. 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
  19. 几种方法判断平面点在三角形内
  20. ue4 android log,UE4+Log日志

热门文章

  1. SaltStack二次开发api
  2. BZOJ3291Alice与能源计划——匈牙利算法+模拟费用流
  3. 由于找不到Qt5widgets.dll,无法继续执行代码。重新安装程序可能会解决此问题。
  4. python安装依赖比较慢的解决方法
  5. Eclipse JPA Project创建
  6. android获取服务器时间格式,Android 获取服务器与客户端时差的实例代码
  7. crt查看oracle安装目录,ORACLE 11g数据库安装步骤
  8. java 日历纪实,日历表--案例 (转载)
  9. 华为哪款手表支持鸿蒙,华为Watch 3最早或于5月发布 采用鸿蒙系统并支持eSIM
  10. mysql中dml语言_八、mysql DML语言