java在循环中删除数组元素,在循环Perl中删除数组中的元素
好吧,这是处理问题的一种方法(在某种程度上我理解你想做什么) . 每当您需要回答有关成员资格的问题时,您可能希望使用哈希值 .
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中删除数组中的元素相关推荐
- java父进程获取子进程异常_如何在perl的父进程中获取死亡的子进程的PID?
您可以将父项及其子项放在自己的进程组中,并通过向父项发送信号来终止整个系列 . 根据您的问题的性质,您可能愿意离开(麦克马纳斯先生!),并且因为每次尝试 kill 对已经死亡的子进程感到失败 . 如果 ...
- java list 范围删除_JAVA中循环删除list中元素(移除list两时间范围外的元素)
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...
- php for循环删除元素,php-在foreach循环中取消设置数组值
这个问题在这里已有答案: 如何在foreach循环中删除数组元素? 8个答案 我设置了一个foreach循环来遍历我的数组,检查 ...
- 在Java中使用分隔符(拆分的对立面)连接数组元素的快速简便方法
本文翻译自:A quick and easy way to join array elements with a separator (the opposite of split) in Java [ ...
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /**** ...
- Java中遍历数组使用foreach循环还是for循环?
这篇文章主要介绍了Java中遍历数组使用foreach循环还是for循环?本文着重讲解for语句的语法并给出使用实例,同时总结出尽量使用foreach语句遍历数组,需要的朋友可以参考下 从JDK1.5 ...
- mysql for 循环删除_Java增强for循环中删除元素抛异常问题
前言 最近突然想起刚毕业那会找工作时面试被问了个这样的问题.就是"使用增强for循环遍历ArrayList(List集合)时删除其中的元素是否会出现异常?".说实话当时真把我愣住了 ...
- java json 去重_js操作两个json数组合并、去重,以及删除某一项元素
两个json数组合并去重,以及删除某一项元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C', ...
- B09_NumPy迭代数组(控制遍历顺序,修改数组中元素的值,使用外部循环,广播迭代)
NumPy迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用arange()函数 ...
- PHP常用数组函数(含按键值删除二维数组中的元素)
// 1.array_search():在数组中搜索键值"red",并返回它的键名 $a=array("a"=>"red"," ...
最新文章
- POJ1236 Network of Schools【强连通】
- selenium代码练习
- 无法获取到图片的宽高
- 深度学习机器配置 装机指南:从GPU到显示器,全套硬件推荐
- 基于SDP的提议/应答(offer/answer)模型简介
- 注册表模板-OEM信息自定义
- 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
- UIKit封装的系统动画
- 转载-zookeeper在kafka中的作用
- [图像]张正友论文翻译(2)
- 按值对对象属性进行排序
- Mac系统下运行Java项目出现Unable to start embedded Tomcat server解决方法
- 第二阶段冲刺第六天,6月5日。
- kickstart实现网络安装centos6.3系统
- h3c交换机配置教程命令(新手配置交换机详细教程)
- 网络教室是以多媒体计算机为核心,浅谈多媒体计算机网络教室发展趋势和方向...
- 汉字转为16进制的unicode
- 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...
- 几种方法判断平面点在三角形内
- ue4 android log,UE4+Log日志
热门文章
- SaltStack二次开发api
- BZOJ3291Alice与能源计划——匈牙利算法+模拟费用流
- 由于找不到Qt5widgets.dll,无法继续执行代码。重新安装程序可能会解决此问题。
- python安装依赖比较慢的解决方法
- Eclipse JPA Project创建
- android获取服务器时间格式,Android 获取服务器与客户端时差的实例代码
- crt查看oracle安装目录,ORACLE 11g数据库安装步骤
- java 日历纪实,日历表--案例 (转载)
- 华为哪款手表支持鸿蒙,华为Watch 3最早或于5月发布 采用鸿蒙系统并支持eSIM
- mysql中dml语言_八、mysql DML语言