📜  珀尔 |数组切片

📅  最后修改于: 2022-05-13 01:54:52.824000             🧑  作者: Mango

珀尔 |数组切片

在 Perl 中,数组是一种特殊类型的变量。数组用于存储值列表,列表中的每个对象称为一个元素。元素可以是数字、字符串或任何类型的标量数据,包括另一个变量。
数组可以存储任何类型的数据,并且可以通过多种方式访问该数据。可以通过在数组前放置$符号并将要访问的元素的索引值存储在方括号中来提取这些值。
例如:

# Define an array
@arr = (1, 2, 3);
  
# Accessing and printing first 
# element of an array
print "$arr[0]\n";
  
# Accessing and printing second
# element of an array
print "$arr[1]\n";

这种提取数组元素的方法一次只能提取一个元素,当要访问的元素列表很长时,这可能会变得混乱。例如,如果列表包含 100 个元素,我们需要从索引 'a' 到索引 'b' 中提取 20 个元素,那么这种方法会造成混乱。为了避免这种情况,Perl 提供了一种数组切片的方法。这可用于访问一系列数组元素。

数组切片

数组切片用于访问数组中的一系列元素,以简化从数组中访问多个元素的过程。这可以通过两种方式完成:

  • 传递多个索引值
  • 使用范围运算符

传递多个索引值:
数组切片可以通过从要访问其值的数组中传递多个索引值来完成。这些值作为参数传递给数组名称。 Perl 将访问指定索引上的这些值并对这些值执行所需的操作。
例子:

#!/usr/bin/perl
  
# Perl program to implement the use of Array Slice
@array = ('Geeks', 'for', 'Geek');
  
# Using slicing method
@extracted_elements = @array[1, 2];
  
# Printing the extracted elements
print"Extracted elements: ". 
     "@extracted_elements";
输出:
Extracted elements: for Geek

当要访问大量值时,这种传递多个索引的方法会变得有点复杂。

使用范围运算符
范围运算符[..] 也可用于在数组中执行切片方法,方法是访问一系列元素,这些元素的起始和结束索引在由范围运算符(..) 分隔的方括号内给出。与传递多个参数相比,这种方法更可行,因为它可以打印很长范围内的元素。
例子:

#!/usr/bin/perl
  
# Perl program to implement the use of Array Slice
@array = ('Geeks', 'for', 'Geek', 'Welcomes', 'You');
  
# Using range operator for slicing method
@extracted_elements = @array[1..3];
  
# Printing the extracted elements
print"Extracted elements: ". 
     "@extracted_elements";
输出:
Extracted elements: for Geek Welcomes

这种对数组进行切片以访问元素的方法被广泛用于对数组执行多项操作。诸如推送元素、打印数组元素、删除元素等操作。