gpt4 book ai didi

perl - 如何使用grep或map删除元素?

转载 作者:行者123 更新时间:2023-12-04 05:08:04 25 4
gpt4 key购买 nike

如何使用grepmap从数组中删除元素或对数组的引用?我在使用splice从数组引用中删除一个或多个元素时遇到问题,并且想看看grepmap是否可以为我提供更好的解决方案。

@removedElements = grep /test/, @array;

最佳答案

您说的"array or reference array"就像是两件事。这令人困惑。

我假设由于您已将数组命名为@removedElements,因此您要询问的是如何从@array中删除元素并将其放入@removedElements中。

@removedElements = grep /test/, @array;   
@array = grep ! /test/, @array;

对该测试进行简单的否定即可得出任何一个列表。您还可以执行循环:
my (@removedElements, @rest);
for (@array) {
if (/test/) {
push @removedElements, $_;
} else {
push @rest, $_;
}
}

这样做的好处是执行的检查更少。

为了使用 splice,您需要跟踪索引,在这种情况下,我不确定它是否值得。当然,这不会使您的代码更易于阅读。同样,我怀疑 map是否比常规循环有用。

关于perl - 如何使用grep或map删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com