Perl 数组

Perl 数组

在Perl中, 数组 是一种特殊类型的变量。数组用于存储值的列表,列表中的每个对象被称为一个元素。元素既可以是数字、字符串,也可以是任何类型的 标量 数据,包括另一个变量。

Perl  数组

示例

@number = (50, 70, 46);             
@names = ("Geeks", "For", "Geeks");

数组的创建: 在Perl编程中,每个数组变量都要在变量名称前使用 “@ “符号来声明。一个数组也可以存储多种数据类型的元素。举例来说。

# Define an array
@arr = (1, 2, 3);
@arr = (1, 2, 3, "Hello");

使用qw函数创建数组:

qw() 函数是创建单引号单词数组的最简单方法。它接受一个表达式作为输入,并提取由空格分隔的单词,然后返回这些单词的列表。最重要的是,表达式可以被任何分隔符所包围,例如- () ” [] {} //等。//等。然而,()和//被普遍使用。

语法

qw (Expression)
qw /Expression/
qw 'Expression'
qw {Expression}

例子 :

# Perl program to demonstrate qw function
  
# using qw function
@arr1 = qw /This is a Perl Tutorial by GeeksforGeeks/;
  
# Creates array2 with elements at
# index 2,3,4 in array1
@arr2 = @arr1[2,3,4]; 
  
print "Elements of arr1 are:\n";
foreach ele (@arr1)
{
    print "ele \n";
}
  
print "Elements of arr2 are:\n";
foreach ele (@arr2)
{
     print "ele \n";
}

输出

Elements of arr1 are:
This 
is 
a 
Perl 
Tutorial 
by 
GeeksforGeeks 
Elements of arr2 are:
a 
Perl 
Tutorial 

访问数组元素: 为了访问数组元素,我们必须在数组变量名称前加上 “$ “符号,然后再加上方括号中的索引。举例来说。

# 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";

例子

# Perl program to demonstrate Array's
# creation and accessing the array's elements
  
# Creation an array fruits
@fruits = ("apple", "banana", "pineapple", "kiwi");
  
# printing the array
print "@fruits\n";
  
# Prints the array's elements
# one by one using index
print "fruits[0]\n";
print "fruits[1]\n";
print "fruits[2]\n";
print "fruits[3]\n";

输出

apple banana pineapple kiwi
apple
banana
pineapple
kiwi

注意: 数组索引总是从0开始。要访问第一个元素,必须给0作为索引。我们也可以给一个负的索引。但是给负数的索引会导致从尾部而不是从开始选择数组元素。

例子

# Perl program to demonstrate 
# negative index of array
  
# Creation an array fruits
@fruits = ("apple", "banana", "pineapple", "kiwi");
  
# Prints the array's elements
# one by one using negative index
print "fruits[-1]\n";
print "fruits[-2]\n";

输出

kiwi
pineapple

序列数字数组: Perl还提供了一个快捷方式来制作数字或字母的序列数组。它使用户的任务变得简单。使用连续数字数组,用户可以跳过循环,在数到1000或字母A到Z等的时候输入每个元素。

例子

@array = (1..9); # array with numbers from 1 to 9
@array = (a..h); # array with letters from a to h

计划

# Perl program to demonstrate
# Sequential Number Arrays
  
# Sequential Number Arrays for 
# numbers and letters
@nums = (1..9);
@letters = (a..h);
  
# Prints array- nums
print "@nums\n"; 
  
# Prints array- letters
print "@letters\n";  

输出

1 2 3 4 5 6 7 8 9
a b c d e f g h

数组的大小: 数组的大小(数组的物理大小)可以通过在标量上下文中对数组进行评估来找到。返回的值是数组中元素的数量。一个数组可以用两种方式在标量上下文中进行评估。

  1. 隐式标量语境
$size = @array;
  1. 使用关键字scalar的显式标量上下文
$size = scalar @array;

这两种方式都会产生相同的输出,所以最好使用隐含的标量上下文。

例子

# Perl program to demonstrate 
# the length of an array
  
# declaring an array
@arr = (11, 22, 33, 44, 55, 66);
  
# Storing the length of array 
# in variable imp_size
# implicit scalar context
imp_size = @arr;
  
# Storing the length of array
# in variable exp_size
# explicit scalar contextexp_size = scalar @arr;
  
print "Size of arr(imp_size) imp_size\n";
print "Size of arr(exp_size)exp_size";

输出

Size of arr(imp_size) 6
Size of arr(exp_size) 6

注意: 在Perl数组中,数组的大小总是等于(maximum_index + 1),也就是说。

size = maximum_index + 1

而你可以通过使用 $#array 找到数组的最大索引 。 所以@array和标量@array总是被用来查找数组的大小。

例子

# Perl program to find size and 
# maximum index of an array
  
#!/usr/bin/perl
  
# Array declaration and 
# assigning values to it
@arr = (10, 17, 19, 20, 25);
  
# to find size of array
size_of_array = @arr;
  
# to find Maximum index of arraymaximum_index = #arr;
  
# displaying result
print "Maximum Index of the Array:maximum_index\n";
print "The Size of the Array:  $size_of_array\n";

输出

Maximum Index of the Array: 4
The Size of the Array:  5

遍历数组: 我们可以用两种方式在数组中遍历。

  • 遍历范围:我们可以通过找到一个数组的大小来遍历范围,然后运行一个从0到大小-1的for循环,然后访问该数组的元素。

示例:

# Perl program to illustrate 
# iteration through range
  
# array creation
@arr = (11, 22, 33, 44, 55);
  
# size of array
len = @arr;
  
for (b = 0; b<len; b =b + 1)
{
    print "\@arr[b] =arr[$b]\n";
}

输出:

@arr[0] = 11
@arr[1] = 22
@arr[2] = 33
@arr[3] = 44
@arr[4] = 55
  • 遍历元素(foreach循环):我们可以使用foreach循环遍历元素。使用这个方法,我们可以直接使用循环来访问数组中的元素,而不是在其范围内运行一个循环,然后访问这些元素。

示例:

# Perl program to illustrate Iterating 
# through elements(foreach Loop)
  
# creating array
@l = (11, 22, 33, 44, 55);
  
# foreach loop
foreach a (@l)
{
      print "a ";
}

输出:

11 22 33 44 55

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程