如果我在
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中以更自然的方式写这个.