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

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

发布时间:2020-12-15 21:13:18 所属栏目:大数据 来源:网络整理
导读:如果我在 Python中有一个数组myarray,我可以使用切片符号 myarray[0::2] 以仅选择均匀索引的元素.例如: ar = [ "zero","one","two","three","four","five","six" ] ar [ 0 : : 2 ]['zero','two','four','six'] 在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中以更自然的方式写这个.

(编辑:李大同)

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

    推荐文章
      热点阅读