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

如何验证Perl中的数组(列表)中是否存在值?

发布时间:2020-12-15 21:21:10 所属栏目:大数据 来源:网络整理
导读:我有一个可能的值列表: @a = qw(foo bar baz); 如何检查@a中存在或不存在值$ val的简明方法? 一个明显的实现是循环列表,但我相信TMTOWTDI。 感谢所有回答的人!我想强调的三个答案是: 接受的答案 – 最“内置”和向后兼容的方式。 RET’s answer是最干净
我有一个可能的值列表:
@a = qw(foo bar baz);

如何检查@a中存在或不存在值$ val的简明方法?

一个明显的实现是循环列表,但我相信TMTOWTDI。

感谢所有回答的人!我想强调的三个答案是:

>接受的答案 – 最“内置”和向后兼容的方式。
> RET’s answer是最干净的,但仅适用于Perl 5.10及更高版本。
> draegtun’s answer(可能)有点快,但需要使用一个额外的模块。我不喜欢添加依赖关系,如果我可以避免它们,在这种情况下不需要性能差异,但如果你有一个1,000,000元素的列表,你可能想给这个答案一个尝试。

解决方法

Perl的grep()函数的设计是为了做到这一点。
@matches = grep( /^MyItem$/,@someArray );

或者您可以将任何表达式插入匹配器

@matches = grep( $_ == $val,@a );

(编辑:李大同)

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

    推荐文章
      热点阅读