Perl的数组操作(push、pop、shift、unshift)

2021年3月22日15:24:04 发表评论 1,055 次浏览

Perl提供了各种内置函数来添加和删除数组中的元素。

函数 描述
push 将列表的值插入数组的末尾
pop 删除数组的最后一个值
shift 将数组的所有值向左移动
unshift 将list元素添加到数组的前面

push函数

此函数将列表中给定的值插入数组的末尾。可以插入多个值, 以逗号分隔。此函数增加了数组的大小。它返回新数组中的元素数。

语法:push(数组, 列表)

例子:

#!/usr/bin/perl
  
# Initalizing the array
@x = ( 'Java' , 'C' , 'C++' );
  
# Print the Inital array
print "Original array: @x \n" ;
  
# Pushing multiple values in the array
push ( @x , 'Python' , 'Perl' );
  
# Printing the array
print "Updated array: @x" ;

输出如下:

Original array: Java C C++ 
Updated array: Java C C++ Python Perl

pop函数

此函数用于删除数组的最后一个元素。执行pop函数后, 数组的大小将减少一个元素。如果list为空, 则此函数返回undef, 否则返回数组的最后一个元素。

语法:pop(数组)

例子:

#!/usr/bin/perl
  
# Initalizing the array
@x = ( 'Java' , 'C' , 'C++' );
  
# Print the Inital array
print "Original array: @x \n" ;
  
# Prints the value returned by pop
print "Value returned by pop: " , pop ( @x );
  
# Prints the array after pop operation
print "\nUpdated array: @x" ;

输出如下:

Original array: Java C C++ 
Value returned by pop: C++
Updated array: Java C

shift函数

此函数返回数组中的第一个值, 将其删除并将数组列表的元素向左移动一个。 Shift操作会删除pop等值, 但它是从数组的开头而不是pop的结尾获取的。如果数组为空, 则此函数返回undef, 否则返回数组的第一个元素。

语法:shift(Array)

例子:

#!/usr/bin/perl
  
# Initalizing the array
@x = ( 'Java' , 'C' , 'C++' );
  
# Print the Inital array
print "Original array: @x \n" ;
  
# Prints the value returned
# by shift function
print "Value returned by shift: " , shift ( @x );
  
# Array after shift operation
print "\nUpdated array: @x" ;

输出如下:

Original array: Java C C++ 
Value returned by shift :Java
Updated array: C C++

unshift函数

此函数将给定的元素列表放置在数组的开头。从而将数组中的所有值右移。使用此操作可以取消多个值的移位。此函数返回数组中新元素的数量。

语法:unshift(数组, 列表)

例子:

#!/usr/bin/perl
  
# Initalizing the array
@x = ( 'Java' , 'C' , 'C++' );
  
# Print the Inital array
print "Original array: @x \n" ;
  
# Prints the number of elements
# returned by unshift
print "No of elements returned by unshift: " , unshift ( @x , 'PHP' , 'JSP' );
  
# Array after unshift operation
print "\nUpdated array: @x" ;

输出如下:

Original array: Java C C++ 
No of elements returned by unshift :5
Updated array: PHP JSP Java C C++

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: