如何在Perl或Python中仅打印每第三个索引?
我想知道在Python和Perl中,怎么用for()或者foreach()循环,只打印每第三个索引的内容?我需要把每第三个索引的值移动到一个新的数组里。
8 个回答
9
Perl:
# The initial array
my @a = (1..100);
# Copy it, every 3rd elements
my @b = @a[ map { 3 * $_ } 0..$#a/3 ];
# Print it. space-delimited
$, = " ";
say @b;
16
Perl:
就像draegtun的回答那样,不过这里用了一个计数变量:
my $i;
my @new = grep {not ++$i % 3} @list;
12
Python
print list[::3] # print it
newlist = list[::3] # copy it
Perl
for ($i = 0; $i < @list; $i += 3) {
print $list[$i]; # print it
push @y, $list[$i]; # copy it
}