是否有一个紧凑的Perl操作来从数组中切换备用元素?

前端之家收集整理的这篇文章主要介绍了是否有一个紧凑的Perl操作来从数组中切换备用元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我在 Python中有一个数组myarray,我可以使用切片符号
myarray[0::2]

以仅选择均匀索引的元素.例如:

>>> ar = [ "zero","one","two","three","four","five","six" ]
>>> ar [ 0 : : 2 ]
['zero','two','four','six']

在Perl有类似的设施吗?

谢谢.

解决方法

有数组切片:
my @slice = @array[1,42,23,0];

有一种方式来生成$x和$y之间的列表:

my @list = $x .. $y

有一种从列表中构建新列表的方法

my @new = map { $_ * 2 } @list;

还有一种方法获取数组的长度:

my $len = $#array;

放在一起:

my @even_indexed_elements = @array[map { $_ * 2 } 0 .. int($#array / 2)];

被授予,不如python等效的那么好,但它做同样的工作,你当然可以把它放在一个子程序中,如果你使用它很多,并想保存自己的一些写作.

还有一些可能的事情,允许在List :: AllUtils中以更自然的方式写这个.

猜你在找的Perl相关文章